There is NO difference. It's a very common non-native mistake to pronounce 'son' to rhyme with 'John'. This is wrong. In fact, the 'o' sound in 'son' is the same as the sound in 'sun' or 'fun'. This same 'uh' sound in 'sun' - written as /ʌ / in the International Phonetic Alphabet - occurs in the words month, money, love, and many other common words. It is an 'uh' sound, not an 'o'.