First, its good that you recognize that USNA has a STEM focus. A strong STEM background is important in today's highly technical military, particularly when it comes to understanding aircraft and shipboard systems. That is why every graduate gets a BS degree (even "Bull Majors"). Admissions is slanted toward acceptance of those with an aptitude for math and science courses (Math SAT is weighted more heavily than verbal and Admissions looks closely at performance in Physics/Calculus.).
If DS gets in, and has weak background or aptitude for STEM courses, then an already tough program is tougher. I will let others with more current information comment on teachers , tutors and time, but is my understanding that there are plenty of opportunities for Extra Instruction. Time is of course a limiting factor -- if you spend more time on academics, you inevitably take away from something else, and as a Plebe that makes life difficult.
With respect to GPA -- USNA hires all its graduates, so at a macro level, GPA isn't all that important and it really isn't a predictor of success as a Naval Officer. History is full of graduates who were near the bottom of their class and went on to great things. That being said, GPA plays a factor in service selection, eligibility for post graduate programs both in and outside of the Navy.
Finally, DS should not hesitate to talk with his BGO about these issues. Admissions isn't looking at BGO's to evaluate candidates academic profiles, but we can make recommendations for NAPS and /or Foundation programs. If an otherwise outstanding candidate came to me and stated they were concerned about the academic program , I wouldn't hesitate to include a recommendation for NAPS /Foundation in my comments.