Because menu scenes can be used for other things like mini-games, loading screens, credits etc. I suppose it would make sense to allow for inactive & active image / animation states but what if the developer wants to use a different method, such as: changing the opacity of the button, or changing between a static & animated button, or apply an openGL shader effect to said button on mouse over / out, etc... The current method is more flexible.
If you wanted to create a quick & dirty snap between images on mouse over / out then you could create a single animation containing 2 frames; the inactive state & the active state. In the first frame add an execute a script action part containing...
ActiveAnimations["anim_name"].AnimationFirstFrame = 1
ActiveAnimations["anim_name"].AnimationLastFrame = 1
... the rest is simple enough. Copy / paste the execute a script action you just created above into a on mouse enter & on mouse leave action part for each of the buttons. You should change the values in the on mouse enter action part from 1 to 2. You also need to make sure the animations are set to infinite loop & that you have assigned the animation to the properties tab. You don't have to do this, of course. It's just an alternative method for the condition & 2 objects method, as it only requires one object, instead of 2 & a condition. Plus you don't have to waste time aligning the images in the 2 objects together.