From the very beginning, when this word came into English in the 1500s, there were two spelling variants and two pronunciations. Coronel came through French and colonel through Italian. Colonel preserved the look of the related word "column," but coronel brought a nice, regal "crown" to mind (though it wasn't actually etymologically related). So it went back and forth until we settled into the 'l' spelling with the 'r' pronunciation. Yay compromise?