Whereas the Latin alphabet has been used for English from the earliest times, the numerals are relatively late. In early Middle English there were words for one, two, three (etc) but there was no word for "zero", as the symbol hadn't yet arrived in England (from India, via Arabia and Italy), and even when the symbols did arrive, they were, at first, a rather specialist tool for calculation that neither the illiterate peasants, nor the literate clergy, would have had much use for. They were a device that allowed financiers to make calculations without the use of an abacus.
As literacy and numeracy became more widespread in the Early modern period there is an issue: What do we call "0"? There's no problem with "1" because we can just name the numeral after the number "one". But there is no number for "0"!
Some people use the technical term "zero" from Italian, ultimately from Sanskrit. But this is a foreign and strange word. Some people use the English word "naught", meaning "nothing". But there is another option. The symbol looks exactly like the letter O. So not having a better name, many people just used the name of the symbol that it looks like. This use is attested from 1600, but probably goes back long before that.
Similar things happen again and again. Why is C# called "C-sharp"? Because the # symbol happens to look like a musical ♯. When a symbol is used, and there isn't a commonly accepted name, but it looks like another symbol, people will just use the existing name, rather than the technically correct term.