When I say long O, what I mean is that sound that is represented as ō, or /əʊ/ (RP), or /oʊ/ (American).
As opposed to /ɒ/ in bot, to /ɔ/ in bore, to /ɔɪ/ in boy, /aʊ/ in bough, and the /o/ at the end of Italian graffito. And, indeed, to /o̞/, the sound at the end of Japanese igo (which I’m not very familiar with).
I’m not really commenting on the length, which I’d have difficulty defining, but the nature.
I did suspect that this was the cause of the confusion. I wouldn’t notice a change in the length of ō unless I was looking for it. In English, its length is what’s called allophonic, which means that it doesn’t carry meaning.
So perhaps whilst a native speaker wouldn’t notice a change in the length of ō in words relative to the other words in the sentence, as dictated by the flow of speech, a non-native speaker might. So you could be correct that even in native speech the length of ō may change – I couldn’t confirm or deny that. But its nature, in how it would be represented in IPA, does not change.
A native pronunciation of any word-final O is ō, unless an attempt is being made by the speaker to pronounce the word similarly to its pronunciation in the language of origin. Take the word riviera, for example. Because this word was adopted from Italian, some speakers will imitate an Italian pronunciation of the word by trilling their R, but this is not how they would pronounce the R in a word like red or roof. The imitation of native speech is double-edged. It’s most appropriate when the context of the word is important, for instance if you were giving a talk about Italian history and wanted to add an “authentic tone”, but in casual speech it can appear pretentious.
This is what I said at the beginning, that “Go” can be pronounced with anything from /ɒ/ to /o/ to /o̞/. But this would be an attempt to imitate how igo is pronounced in the Japanese language and would not represent a native way of speech.