The short version is that the spelling of the regular plural always involves a letter <s> rather than a letter <z>, but that how it's pronounced and whether there's also an <e> in the spelling depends on how the final sound of the base word is pronounced.
- We write <s> and say /s/ if the final sound of the word is voiceless: hops, bites, rakes, reefs.
- We write <s> but say /z/ if the final sound of the word is voiced, and this includes all vowels: babes, duds, rags (and fugues), knives, hums, runes, kings, fires, sales, agrees, grows.
- We write <es> and say /@z/ (I think I can't get a schwa to display, so I'm using @ instead) if the final sound of the word is pronounced a lot like the sound /s/: bosses, fizzes, rashes, rouges, itches, judges - though, as the last word shows, if the word as SPELLED already ends in letter <e> we don't supply the <e>: horses, not "horsees".
(To get technical about it, the sounds /s/ and /z/ are alveolar fricatives. The final sounds that make us pronounce the plural as /Iz/ have to be either fricative or affricate - that is, the sound either is or includes a hissing or hushing component - AND either alveolar (pronounced in the mouth where /s/ is) or palatal (pronounced in the mouth where <sh> and <tch> are. And, for the record, there's a similar but not quite identical rule for the pronunciation of past tense <ed>.)
The students don't necessarily need the technical terms, but the teacher who knows what drives the alternation in pronunciation will probably find it easier to choose words with which to teach students how the plural works.
Education isn't what you know. It's what you can do (and fake, intelligently) with what you know.