The Spanish alphabet has the 26 letters + the consonant ñ, which is pronounced like the "ny" in "canyón". But out of the remaining 26 letters, why do the consonants have different names from the names in English? Why can't all the 26 letters be given universal names for all the Latin languages?
Why can't all the 26 letters be given universal names for all the Latin languages?
They used to, in fact! Well…mostly.
Back in the days of the Roman empire, there were mostly consistent names for the letters of the alphabet: ā, bē, cē, dē, ē and so on. There was a bit of variation in some of them, like ef versus effe, hȳ versus ȳ-graeca, and ex versus ix, but for the most part they were consistent.
But languages change over time. At one point, for example, English shifted all of its "long E" sounds from IPA
/e:/ (as in café) to IPA
/i:/ (as in machine). And this affected the letter names they'd borrowed from Latin: that's how we got "bee, dee, ee, gee" versus Spanish be, de, e, ge, etc.
Other differences might have originated from variations within Latin, such as the ef versus effe mentioned by Roman grammarians. Some letters didn't exist within Latin, such as W, Ñ, and J, so those were given names later. The letter Z was renamed in American English, by analogy with C, D, E, and so on. But most of the differences can be traced back to English changing all its long vowels somewhere around the fifteenth century, a process called the "Great Vowel Shift".
The main reason is that it would be impossible to agree on a name. Is "z" to be called "tset", "zed", "zee", "zeta" and so on? What about the letters that are not used in English – what do we call ç?
We have different names for letters because names for letters developed long ago from different sources. The Latin name for "z" is based on the Greek name which is based on the Semitic name; the letter "f" derives from a Semitic letter for [w], called waw. Here is an account of the Latin letter names, which explains much about current names.