The name "John" comes from Yochanon, which means "God's Grace." The "ch" is pronounced like the end of "Bach." This is not a sound in Greek, so it gets turned into an "h" sound. Put an "h" after a vowel, it turns silent. So, Yochanon becomes Johanon. Hard to pronounce, but you can see how it would then become Johann and John. And Jean and Juan and all the other variations on that theme.
So, yes, Jon and John are pronounced the same in English (in Hebrew, they'd be Yonie and Yochie, except that Yochanon is not a common name right now) but the origins are different enough that sticking an extra "h" in doesn't work.
But that actually isn't my point. My point is that the producers of Buffy and Smallville have an official spelling of the name - it's Jonathan Kent, for example, and I've heard it's Jonathon for Buffy - and that's what the fanfic writers should use. Many names have common variations, after all, and it just makes sense to check websites and castlists to know which ones to use.