I saw this (and other questions about the etymology of military titles) answered here a while back: https://youtu.be/smP5lqT7oYg
The guy who does these has joined my list of content creators that I find chill to just have on in the background, whatever subject matter they are talking about.
Not an expert by any means, but I’m gonna go with ‘blame french’. That language, while very pleasing to the ear, is a bit of a mess. France was powerful in the past and spread their language to a lot of places that ended up keeping some of their words. So now a lot of countries and languages have words that don’t make sense when compared to the rest of their language.
In a similar question: Why is a “quartermaster” in the Army a supply person but in the Navy does navigation?
“Colonel” came to English from the mid-16th-century French word “coronelle”, meaning commander of a regiment, or column, of soldiers. By the mid-17th century, the spelling and French pronunciation had changed to colonnel. The English spelling also changed, and the pronunciation was shortened to two syllables.
The French also took this word from the Italians. But when they added it to their language, they changed the word “colonnelo” to “coronel.” Language experts say this is because the French wanted to have the “r” sound in the word, instead of the two “l” sounds.
The spelling is French while the pronunciation is Italian. “coronel” was borrowed from French in the 1500s it was pronounced the same as it was written in French so English speakers pronounced it the French way.