There seems to be little predictability to the English names for the letters of the alphabet, to say nothing of the names of letters in other languages.
Some begin with an e-as-in-egg sound (eff, ell); some end in an ee sound (tee, dee); and others have no obvious rhyme or reason to them at all. How did they get that way?
The vowels are all named after their long forms. In Middle English, these were roughly ah, ay (as in “may”), ee, oh, oo (as in “tool”). But the “Great Vowel Shift” scrambled the long vowels of English over several centuries, starting roughly in 1400. This made English vowels sound different from those in Europe, and changed the letters’ names with them, to ay, ee, aye, oh. U was still called oo after the Great Vowel shift; around 1600 it started being called yoo. The Oxford English Dictionary says of wy, also known as Y, merely that the name is of “obscure origin”. It is at least 500 years old.
The consonants are more regular than first appears. The English pronunciations use a modified form of the system handed down from Latin. “Stop” consonants—those that stop the airflow entirely—get an ee sound after them. (Think B, D, P and T.) Consonants with a continuing airflow get an e-as-in-egg sound at the beginning instead (F, L, M, N, S, X). There are a couple of exceptions. C and G have both stop and non-stop (“hard” and “soft”) sounds, as seen in “cat” and “cent”, and “gut” and “gin”. They are called see and gee because in Latin they were only “stop” consonants and so follow the same naming rules as B and D. (Why they are not pronounced key and ghee is unclear.)
Other anomalies require a bit more explanation. R, which has a continuing airflow, used to conform to the rule above, and was called er. Its vowel changed to ar for unknown reasons. V was used as both a consonant and a vowel in Latin, and so does not fit the pattern above either: it is a fricative (a consonant in which noise is produced by disrupting the airflow), named like a stop. Double-U is a remnant of V’s old double-life, too. J did not exist in Latin; its English pronunciation is inherited from French, with some alternation. Zed comes from the Greek zeta. (Americans call it zee, perhaps to make it behave more like the other letter-names, though the exact reason is unclear.) And aitch is perhaps the greatest weirdo in the alphabet. Its name is descended from the Latin accha, ahha or aha, via the French ache. The modern name for the letter does not have an h-sound in it, in most places. But there is a variant—haitch—thought by some to be a “hypercorrection”, an attempt to insert the letter’s pronunciation into its name. In the Irish republic, haitch is considered standard; in Northern Ireland, it is used by Catholics, whereas aitch is a shibboleth that identifies Protestants. But it is not limited to Ireland: haitch is also spreading among the English young, to the horror of their elders.