Why don't we have different copies of static variables for the different objects?
Because they would be instance members then.
The primary characteristic of static members is that they're shared by all the instances of the class.