Words ending in ch usually take es in the plural form. However, the word stomach is an exception to this paradigm. Its plural form is stomachs. My question is, why does it take only s in the plural form?
The use of the spelling "-ches" in plural forms of words that end in "-ch" is based on the presence of a vowel sound before the final /z/ sound. After the sound /t͡ʃ/, the plural suffix is pronounced as /ɪz/ (or /əz/ in some accents).
But stomach does not end in the sound /t͡ʃ/: it ends in the sound /k/, and the plural ends in /ks/, with no vowel sound sound before the final /s/. This is why it is not spelled with "-es".
Compare the two spellings of the plural of conch that correspond to the two pronunciation variants.
The regular plural suffix has the pronunciation /ɪz~əz/ and the spelling "-es" after any sibilant consonant sound: /s z ʃ ʒ t͡ʃ d͡ʒ/. Words ending in these sounds can be spelled in a variety of ways, so it's simpler to think of this rule as being based on pronunciation, not on spelling.
If the -ch is pronounced like 'k', there is no 'e' before a plural final 's'. The lochs of Scotland are beautiful, also the mountains called the Trossachs. In music, there will be no more Bachs. Eunuchs cannot beget monarchs, and also cannot become patriarchs or, probably, the husbands of matriarchs.
There are at least two reasons, one is the end sound 'k' in English words, but the other one is the plural of foreign words like stomach or Bach. The meaning of the name of the composers Bach (a family) is German for creek and the pronunciation of 'ch' is not 'k' at all but IPA 'x'. The English and German plural for the name 'Bach' is 'Bachs' (the plural of the word bach [= creek] is in fact Bäche 'ch' is IPA ç).