The reason is that your two guards are much, much better than their backups.
Everytime there's a break in the game when substitutions can happen, your coach looks at the current abilities of the players in each position, relative to the backup. When you use "let coach decide" (which I assume you did here), then the coach will always choose whoever's current ability is higher. Because your starting guards were so much better than their backups, the coach stuck with them, even though their performance was degraded relative to the start of the game.
Now, this changes when you win in a lopsided fashion, and "garbage time" starts. In that case, the backups or reserves will come in regardless. Or, you can encourage the coach to make substitutions by using "strictly follow depth chart" setting.