o is only pronounced like 'oh' when it is stressed. All other times it is pronounced like 'ah' or 'uh' depending on where the o is in the word. Usually if the o is right after or before the stressed syllable it is pronounced like 'ah'. If it is farther away it is pronounced like 'uh'. Take хорошо for example. The last 'o' is stressed, so it's pronounced like 'huh-rah-SHOH'. Someone correct me if I'm wrong, I'm just going off of what I remember from school :)
Well, I was learning German here in Duolingo, and it never forgave me wrong declination. To be honest Russian declination is twice as hard as the German one, but it still is the same thing and you can hardly learn it by only passing lessons in Duolingo. It's the background that has to be learnt somewhere else. Sometimes there are grammatical entry in Duolingo before the lesson but not always. Personally I would advise you to use external resources to find grammatical rules. For example see declinations here.
What confusion do you talk about? "Доброе утро" is a direct translation of "Good morning". The only possible confusion is that this phrase is very old and idiomatic. In non-idiomatic speach word "добрый" today is used in the meaning "good" very rarely and mostly in sarcastic way. The primary meaning of "добрый" is "kind/not evil".