Welcome to the world of word formation! It is not an easy topic in any human language, not even in Esperanto.

The Wikipedia article [_Vortfarado_](https://eo.wikipedia.org/wiki/Vortfarado) gives quite a deep analysis of the word formation in Esperanto, but the article requires a good language level. Let me explain how I see things.

**Who decides about new words?**

There is _La Fundamento_, the Foundation, laid out by Zamenhof. It consists of his groundlaying works. There is [_Akademio de Esperanto_](https://www.akademio-de-esperanto.org) which publishes official amendments. So far there are nine _Oficialaj Aldonoj_, each covering multiple words.

Of course every speaker is free to come up with his/her own words and expressions, but the inertia of the community is quite strong against changes which would be against the Foundation. Especially changes in the grammar get very easily labelled as _kontraŭ­fundamentaj_.

But of course some new words and expressions get accepted by the community, and if they stick, they might eventually end up in an _Officiala Aldono_. Or they can remain in unofficial use.

**Malsanulejo vs. hospitalo**

When it comes to your specific example, you're right about that technically the word _malsanulejo_ can denote any place where sick people are, but the word got very early a more or less specialised meaning of a hospital.

The original Zamenhofian vocabulary was a mixture of about half of dozen languages. While French was one of those languages, many francophones felt a need to introduce more French words into Esperanto. They felt that the existing words were not accurate enough or that you could not express nuances well enough. One of those pushed words is [_hospitalo_](https://vortaro.net/#hospitalo_kdc), which was even accepted in _1-a Oficiala Aldono_. So we ended up having the fundamental _malsanulejo_ and the amended _hospitalo_. 

My limited observation is that _hospitalo_ is far seldomly used for a hospital than _malsanulejo_, and I think why it is that way. When you introduce a new word, you do not introduce just a single new word but a root. For the root _san/_ there are a lot of usable combinations created by adding pre- and postfixes to it. For _hospital/_ there are very, very few.

**The current situation**

The wind blows from English now. The anglophones feel that  the existing words were not accurate enough or that you can not express nuances well enough, so they introduce new words. I think a major reason for this feeling is the many loanwords English has. The language has loaned words with ultimately same meaning, that they have had to come up with some nuance difference between them. Having an exact same meaning word twice would just be less than smart.

It remains to see which of the words now being pushed into Esperanto stick, so that they end up in an _Oficiala Aldono_, and even that does not guarantee a widespread use.