If you’re getting this error then either you or someone has called UObject::Rename(Name,Outer) with an existing name. Unreal engine will break and crash if you try to overwrite a UObject this way.
MakeUniqueObjectName
The solution is to call Rename() without any arguments on the old object before overwriting it.
Unreal Engine will then call MakeUniqueObjectName and give some random name which will free up the name you want to use.
A good area to do this is within the reimport function when reimporting your custom asset.