Before directly answering your question, I must say that pronunciation in Esperanto is somewhat fluid, which it must be to some degree to facilitate speakers of diverse backgrounds. That being said, I will use phonetic symbols in my explanation as indirect representations often create confusion. Using IPA, the o in "go" is represented by [oʊ̆], as it is composed of [o] and a short [ʊ] (like in "book"). Although this is not detrimental to understanding, this pronunciation in Esperanto is best avoided. For the clearest pronunciation, it is best to isolate the [o] so that it is a pure o sound.
La Esperantaj vokaloj ne estas diftongoj. Tio signifas, ke ĉiu
Esperanta vokalo estas elparolata “senmove”. Oni ne aŭdeble movas la
langon de unu pozicio en la buŝo al alia pozicio dum la elparolo de
unu vokalo. Ekz. ... O ne kiel “oŭ”.
Esperanto vowels are not diphthongs. That means that every Esperanto
vowel is pronounced "unmoved". The tongue is not audibly moved from
one position in the mouth to another position during the
pronounciation of a vowel. Ex. ... O not like "oŭ”.
The "on" sound you are talking about, I will assume is [ɔ]. This vowel, being close to [o] and the pronunciation of the letter o in many languages, is also an acceptable pronunciation of o. However, it is best to keep careful that this vowel does not become to close to an "ah" sound, which many English dialects do, and would cause confusion between a and o.
As to why you hear a switch in between the two vowels, in many languages, English included, the quality of a vowel depends on which kind of syllable of situation it is encountered in. In German, for example, o is pronounced as [ɔ] in syllables that end in a consonant, ex. the o in "voll" is [ɔ], but [o] in syllables that don't end in a consonant, ex. the o in "oder" is [o]. This dynamic was at a time advocated in Esperanto by some. It may be acted upon subconsciously by speakers of languages in which this dynamic exists (like English, German, French, etc.), but probably not by those who speak a language with no such distinction (like Spanish, Japanese, etc.). If anyone is pronouncing the o's in words like "konas" and "saluton" differently, it is because they perceive the syllable boundary as "ko-nas" and "sa-lu-ton", but this distinction is not universal and far from necessary for clear speech.
In simple: be mindful that other's pronunciation may differ slightly than yours, but the best pronunciation is a clear "oh" sound, like this [ɔ], or this [o].
P.S.: I did not reference any examples in English as, not only is there no exact correlation to the clear o sound, but the pronunciation of vowels in English vary too wildly to be referenced in this way.