Why does the words pub, button, public all pronounced with an "ah" instead of "oo"?
Since there's a "u" there it looks like it can be read pooblic, bootton (or even byutton), poob but it's pronounced as if the "u" was an "a", why?
In most varieties of English (but not the Midlands and North of England), the historical "short u" (/ʊ/) changed a few centuries ago to an unrounded mid-low central vowel /ʌ/ or in some varieties /ə/ in most, but not all words. Like many of the sound shifts in English, this was after much of English spelling was established.
So in most of the UK (and elsewhere) "pub" is /pʌb/, but in the Midlands and the North it is still /pʊb/.
The exceptions are mostly words with a labial consonant - p,b,f,m (eg 'pull', 'bull', 'full', 'mush'), but not always. Note particularly 'put' and 'putt', which are homophones in the North, but elsewhere are /pʊt/ and /pʌt/ respectively.