Not formality -- honorifics. Formality pertains to speech level and is the reason for -ㅂ니다, i.e., it's the level of respect one is showing the audience, or person to whom you are speaking. Honorifics is the reason for 계시다 instead of 있다, and shows respect for the person you're talking about.
That really has to do with direct translation. Directly translated to English that would be correct, but it has a slightly different meaning in Korean.
My question says "Our grandmother sings". I have a completely different question than what the correct answer supposedly is. This def needs someone's attention from DuoLingo.
저희 means 'we' and "we teacher" is ungrammatical. You can say 저희의 as a formal variant of 우리의 if you want to say "our teacher" (저희의 선생님), but this sentence asks you to translate "my teacher" (제 선생님, from 저의 선생님).