Tdol began the day with a very wise answer to a similar question.
He said: “It's often difficult or even impossible to say why we do something. Language rules can be arbitrary, so the answer is simply because we do it this way. When the majority of speakers of a language follow a certain pattern of usage, it becomes a norm, or rule…”
That said, you could get quite specific, if you wish, but I caution you on delving to deeply into these sorts of questions. You might get information overload and end up more confused than when you started.
He has math and science class every day. (He has a basic math and a basic science class every day. He has algebra and biology every day.)
He has math and science classes every day. (In addition to meaning exactly the same thing as the sentence above, this could also be taken to mean that: He has several different math and science classes every day. He has statistics, calculus and trigonometry plus chemistry, genetics and rocket science every day)
They have classes all day on Friday. (They have several classes all day on Friday)
They have class all day on Friday. (In addition to meaning exactly the same thing as the sentence above, this could also be taken to mean that: They have the one, and only one, class all day on Friday – which is highly unlikely, unless it’s a paying seminar).
Do you see how this can get out of hand?
The best way to communicate is with simplicity.