Are objects appropriate for modeling the real world?
Object-oriented programming languages are designed to support programming.  Whether they &quot;properly&quot; model the real world is beside the point and not the primary goal.  So, when you ask &quot;why haven't [these requirements] been included?&quot;, it's likely because those weren't considered relevant or necessary to the goal of supporting programming.
It's like saying &quot;A hammer is no good for driving in a screw; why haven't the requirements of driving screws been included in the design of a hammer?&quot;  Well, that's not what hammers are designed for.
Of course you could invent your own language that follows different principles.  You'd presumably end up with something that looks different.  I'm not sure you'd ever finish such a project; I suspect there would always be some aspect of the real world that isn't incorporated in the language, and at some point you'd have to accept imperfect fidelity to the real world.  In any case, that would be a different project, with different design goals, so it's no surprise that it might lead to a different result.