I always wonder what is the reason for pronunciation of certain (group of) letters to change when used in a word. For example, the letter 'o' changes it's pronunciation to 'ʌ' rather than 'oʊ' when used in "oven" or "onion". Similarly, when we pronounce "put", we use 'ʊ' for 'u'; but when we pronounce "cut" or "but" the 'u' changes to 'ʌ'. Same is the case for "chord" and "chore", why is the "ch" in "chord" pronounced as 'k' where as it is pronounced as 'tʃ' in "chore"?
Your question asks how to identify the right pronunciation, but your body asks about the reason why pronunciation varies.
As for the latter, there are multiple explanations why, and they are probably beyond the scope of this site. As a short answer though, we might observe that "chord" comes from the Latin chorda whereas "chore" comes from Old English ċierr. English vocabulary is very much split between Germanic, Latin, French, Norse, Celtic and other roots, so the same letter may be pronounced differently accordingly to the rules of the language each word from borrowed from. Some times, pronunciation is Anglicized but spelling is not, or vice versa. In other cases, pronunciation and/or spelling may be hypercorrected to align with the percieved foreign source, even if the word isn't actually from that language or that language doesn't actually have that rule.
As for vowels, the Great Vowel Shift is the obvious place to start in explaining the inconsistency and unpredictability between written and spoken English. Although of course this is not a complete explanation.
Therefore, as to your question of how to identify the right pronunciation for any given written word, the short answer is you cannot do so by any system of logic or rules, so don't bother trying. You can look for IPA guides or listen to native speech examples.