These two-letter words ending in -o are pronounced with the  vowel /oʊ/: *bo, go
ho, jo, lo, no, so*, and *yo* whereas *do* and *to* are pronounced with the vowel /uː/. Is there an explanation for the discrepancy in pronunciation?