^^^^ Claire is right, a lot of it is to do with origin and transliteration.
I believe it's to do with a Germanic word spelt:
wælisc (old English) which sounded like an {eh} sound. It meant 'foreigner' (lovely). Middle English and earlier didn't have a set spelling structure and relied on phonics alone… as spellings became standardised and words were borrowed from numerous different languages to accommodate a growing vocabulary and various conquests, the English transliteration of it became "Welsh" versus "W
alsh" as Walsh has a different phonetical pronunciation in other words and is thus confusing.
This 'bodge' can be seen in numerous modern foreign languages today, including French and Spanish. A notable one in Spanish. The word 'agua', which means water is feminine. Thus, by logic it should be: 'la agua'. This is difficult and confusing to say and so the Spanish say this word as if it were masculine: 'el agua'. Why? Simply because it makes more sense phonically.
So, in short… the answer to your question is simply… it sounds better than Walsh (which would have required 'changing the name' of the country). It mightn't be correct or logical, but that's why.
Also, moving this to foreign languages.
As a closing point, the following sentence is
English (believe it or not): Mē līcode þeċ tō grētenne. <— this alone shows you just how much our language has changed over the centuries. That's the beautiful thing about languages, they're always evolving.