It was decided by a committee of individuals, who had to agree on a general naming convention. "But" is indeed the common root prefix e.g. butyl, butene, etc. The current system must have been more favoured than the alternatives, dibutene, butdiene, butanediene, butyldiene etc. There are obviously multiple ways of assigning nomenclature which would have come down to general agreement on the basis of multiple factors.
I imagine there were long tedious meetings discussing such things.
The reason why the "a" was retained is that it is difficult to pronounce two neighboring consonants (for example "td" in butdiene). For example, see the IUPAC web-site for an example discussing this in the case of unsaturated steroids: