Everyone is going to define this differently but for me, a good coach:
1) Helps my son develop on the ice
2) Holds him accountable for his actions
3) Mesh's with his personality
4) Can communicate with the parents when necessary
It sounds like you have a coach you like for 42 minutes per game. Honestly, you can use it as a teaching moment if you are so inclined. Not about how "life is unfair, deal with it" but how he can't let things he has no control over impact his play during games or enjoyment of the game.
I have no idea how old your son is but fast forward to high school, he makes Varsity one day but is a fourth line winger, so he gets maybe six minutes per game. He'll have to earn more ice through his limited playing time, if he loses his confidence because he doesn't get more time, he'll start to have some real issues.
So if you like this coach, he's great at developing kids, has helped your son, etc., I would call him a good coach and stick with him.
Don't kid yourself into thinking your 4th line winger is going to "earn" more ice time in HS or at any level for that matter. On any team the pecking order is set, for whatever political or skill related reasons, and that's the way it stays, because that's how your kid is viewed from that point on. How it works in any sport at any level. Trying hard and improving is for personal development, but it doesn't "earn" you squat.