Is there any rule for pronunciation of the vowel in words like "approximate" or "appropriate"? Why is one pronounced as /ɑ/ and one as /o/? I have searched threads but can't seem to find an answer.
The pronunciation of the "o" in "approximate" follows the rule that in a stressed syllable, a vowel letter before the letter "x" represents its associated "short vowel" pronunciation. This is similar to how a "short" pronunciation is regular before "ct" which represents the consonant cluster /kt/. In general, when a single vowel letter is used to represent a vowel sound before a consonant cluster that can't occur at the start of a word in English, the vowel sound is "short" rather than "long". Since the letter "x" after a vowel letter represents the consonant cluster /ks/ (or sometimes /gz/, /kʃ/ or /gʒ/), which cannot occur at the start of an English word, the letters "a" "e" "i" "o" "u" "y" are regularly pronounced as /æ ɛ ɪ ɒ ʌ ɪ/ (or /æ ɛ ɪ ɑ ʌ ɪ/ in American English) before the letter "x".
The pronunciation of the "o" in "appropriate" is explained by two rules: the one described in Why is "salient" pronounced with a "long a" sound? and a rule that certain consonant clusters that can occur at the start of words, like "tr", "pr", "cr" and "cl", act the same as single consonant letters for the purposes of vowel letter pronunciation.