Is there no distinction between 'Our teacher teaches us" and "Our teachers teach us" ? If one says "hamara shikshak" instead of "hamare shikshak (polite)" does it sound rude because you are not speaking in the plural way to show polite respect to the teacher?
You've got the gist of it. There's no distinction between plurality and formality in Hindi, unless the noun has different forms in the singular and plural.
अध्यापक/अध्यापिका are far more common, aren't they? I haven't ever heard शिक्षक outside of formal writing, not even in formal conversation, and definitely not in informal communication.
"We have teachers that teach us." Why should this not be an accepted answer?
Hindi lacks a simple translation for the verb to have. This is why the sentence you suggested does not have a direct translation in Hindi. Moreover, even though the हमारे ... हैं format gives the meaning of to have, it does not apply in this sentence since there already exists another verb, पढ़ना, which uses हैं as an auxiliary verb and separates it from the “हमारे ... हैं” construct.
Just for fun, would "We have teachers who teach us" be: हमारे शिक्षक हैं जो हमें पढ़ाते हैं?
There's not much difference when you're speaking it out is there? At least, in conversational Hindi it's hard to tell the difference.
Theoretically, it's written the latter, if that's what you're asking.