This problem is solvable! If we think of "humans" as "objects" similar to Object Oriented programming languages like Java or Visual Basic, then the problem becomes simple. Lets say we can define a class "human" that has two state properties
Class _Human {
P = Physical Appearance (Height, Age, Weight, ect)
M = Mental State (Neural connections, personality, etc)
}
This is considered a "contract" of what makes a human. Each object is an instantiation of the class "Human", that is each object follows the same style as the class (it has two state variables P and M) but is simply an instance of the class rather than the entire class itself. Now if we consider a clone human, this would simply be an object of the Class human that just happens to have the same values as another object Human that exists. This is like creating two complex number objects in Java that have the same value, while the value is the same they are still two distinct objects, IE: The object reference is different.
If you delete the original Object (we'll call A) and replace it with a new object of the same values (we'll call
then the reference of the object has changed, (you've gone from referencing A to referencing
but the values of the object haven't. So even though the two humans functionally are the same and if the universe was a programming language it wouldn't be able to tell the humans apart, the humans are still different because they still reference two different people. That's how I see it.