They probably assume it is more accurate (a so-called "hyperforeignism"). In English words, the letter "u" is often pronounced as /ʌ/ (the sound of "pun"). But English is fairly unusual in using the letter "u" this way: people expect the letter "u" in a word from another language to represent a sound like [u] or [ʊ] (usually represented in English as "oo": [u] is approximately the vowel in "boot" and [ʊ] is approximately the vowel in "soot").
So if someone has the impression that "Punjabi" is a scientific or standard transliteration of a word from another language, it makes some sense to assume that the "u" represents a vowel that was pronounced in that language as [u] or [ʊ].
Actually, it seems that "Punjabi" is an anglicized spelling of an Urdu word that would be scientifically transliterated as "Panjābī". But there is no easy way for a native English speaker to know this. There are all sorts of words like "Urdu", "Muslim" and "Hindu" where the letter "u" is actually supposed to represent a vowel like [u] or [ʊ] in the original language (the more anglicized spellings "Oordoo", "Moslem/Mooslim/Moslim" and "Hindoo" have now fallen out of favor).
For "Urdu" and "Muslim", English "spelling pronunciations" with /ɜr/ and /ʌ/ respectively exist. So even someone who has heard the word "Punjabi" pronounced aloud with /ʌ/ might assume that it is just a spelling pronunciation like this, and not realize that it is actually the closest sound to the vowel used in the original language.