Who decides what measurement units are used for altitude, and why is there no standard?
Unfortunately, countries tend to want to decide themselves how stuff is supposed to work once you're within their borders. That's why we have different rules and laws, and when you go somewhere else in the world, you might need to know some of the differences.

In England they drive on the wrong side of the road, imagine that! :)

In order to have things run smoothly in something so utterly international as aviation, the organization called ICAO (International Civil Aviation Organization) where most countries of the world are members, dictates the rules, (I believe they are) called the ICAO drafts recommendations which the member states should incorporate into their respective laws and regulations. If they choose not to, they need to inform the ICAO of such deviation, don't know exactly what happens then, but I believe the idea is to at least let everybody know there's a discrepancy.

The ICAO Annex 5 specifies units to use, including units for altitude and actually specifying meters as the primary unit, with feet being accepted as non-SI alternative. Why on earth you'd want to go against the majority on this I don't know, perhaps due to the fact that it's an SI unit and they want to be as much SI as they can. So it's basically up to each country how they want to play it. Most countries stuck with feet.