It’s a messy story, the result of confusion between two forms of the word that came into English at different times.
Its source is the Italian colonna.
This, along with the English word column, with the same meaning, derives from the Latin column, because a column of men was reminiscent of the shape of a pillar.
The Italian compagna colonnella, literally, “little-column company”, referred to the small company of soldiers that marched at the head of a regiment and was commanded directly by the officer in charge.
That officer became known as the colonnello.
This shifted into French as coronet, but later changed back nearer the Italian original as colonel.
Much the same thing happened in English, where coronet was the more common form up to about 1630.
For a while after this date both forms were in use until colonel eventually won.
At first the word was pronounced as three syllables, but the middle became swallowed, and under the continuing influence of the “r” spelling the “1” in the first syllable vanished.