The game is frustrating, especially the way people view the leagues.
People will tell you gold is bad, and diamond+ are the only good players. But really, since the game is so far after release, the only people still playing ranked games are veteran players. You will come across bronze players who have had 3 years of practice, and would roll new players with ease. Another thing to consider is the internet. If you play baseball, and are a good baseball player, you are only comparing yourself to local players (home town + surrounding towns). Every day on the internet is the olympics of gaming. If you are in the top 50th percentile in sc2, you will be playing the top 50 percentile in your continent.
Gold isn't what it used to be with league depression and changes, but likely your son is in the top 50th percentile. When you think about the fact that he is playing competitive, against players that likely dedicate a similar amount of time as him (and have had 3 years to do it) and he is still above average, that is a good feat to reach.
Eventually he will figure out (or you should tell him) that the best way to improve, is to play the game for fun, and not even take note of his rank. If you stop stressing yourself, you will enjoy yourself much more, play more, and build up mechanics that are crucial to playing at higher leagues. This really applies to every competitive game. He should also avoid the blizzard forums like the plague, for they are cancerous.
Hope this makes sense.