Look at it this way. If you want 100% guarantee that your trainee plays 48 minutes if he's not injured or fouled out, dress 5 players. That's your 100% guarantee (barring the injury/foulout).
Then you have a choice to be more competitive, there's way to increase your competitive at a very small chance your player won't get 48 minutes. You could dress 7 players, making sure that the 2 extra players are both reserve and backup for 2 positions each. Another step would be 9 players, making sure that every extra player is reserve and backup for a non-training position. This way you'll almost always get 48 minutes, there's just a very small chance you don't get it. Most of the times it goes right, just not always. That might be explained due to stamina or game pace, or out of position training, or a combination of all these reasons.
You know your options, we've explained how it works. It's up to you to make the decision out of these options and live with it. Make the most of it. Know you've done your best and accept that.