I think anyone at least 400 points higher than their student(s) should be fine.
Even 1 rating level (200 points) is fine. But again, as long as that person knows who to stay withing what they know.
I think that depends on the person's age and how much they've actually learned.
A 2200 rated 10 year old would be a bad coach for a variety of reasons.
An old 1600 player who can't preform, but has learned a lot, can share that knowledge.
I know a young man that is almost USCF 1900, and will go on to become a very good player. He is way better than i ever was. OTB play he would beat me most of the time. But when it comes to teaching the game? He does not have the ability to explain things, and doesnt have the ability to "know his audience".
Also young kids, they tend not to know much about chess. They win by getting complicated positions and calculating a lot. In quite positions sometimes you see them make really absurd moves that reveal how little they actually understand.
Some have studied, sure, but having an intuition about piece activity and pattern recognition isn't something anyone can verbalize, much less a kid who will be bad at teaching for the additional reasons you gave.
Rating obviously helps, but having the ability to explain things clearly and precisely will really make a difference.