Well thats just because thats how maya was programmed down up (most others are way newer in this respects, especially max that got scripting into the game later then release). The thing i appreciate in maya wis its DOWN UP designed the same way, houdini comes close tho.
Mel is a functional not object oriented so no object orientation there. And in api it is object oriented so yes thats basically how it works trough the api. Functional code just reflects what mel is supposed to do. I often complain that people with programming skill often misunderstand what one should do in maya.
Mayas primary mechanism is NOT to run scripts, but rather use nodes to solve their work. And nodes work just ike any other object orinented language out there. Mainly some problematic perversion happens when poeple do things outside of the nodeal structure, when in all actuality they would want to make a node (they just dont know it). To this end expressions that DO work on the object structure do work like
object.Attribute=object2.Attribute2+sin(time);
So those parts of maya that work on the actual data one should be working on WORK just like any other object oriented language. Its just that any other parts shouldn't actually do any node reading so maya functionality underlines the fact that you are doing something indirectly and that you probably shouldn't be doing so as your primary target.
In fact you never do need any accessor outside of the following getAttr, setAttr, Sets, AddAttr in scripting. Api needs a bit of the other fctions but basically 80% of MFn's are stuff thats there just to help you out not to actually provide you with functionality.
So if you feel your maya code becomes stupid at times its because your not looking at the right tool to do it. As for python, the entire notion of porting mel into python was idiotic it just stopped you form seeing the different parts as just that separate. So yes a whole separate api level different api would have needed to be made.
So yes it exactly works like that as long as you exit the scripting paradigm. Python as it is now just makes it that tiny bit harder for you to see this. I'm not going into the talk wether or not is better to d system that works like users think it should as opposed to how they get the most out of everything, it is not.
(best example of this is the html wild years that broke almost everything, the upside is that it did enlist many users but allmost rendered everything useless. We stilll pay for this)