tl;dr (a) English does not have consonant diacritics because England isn’t in Eastern Europe.
English does not have vowel diacritics because (b) initially neither did French, and (b) by the time diacritics could have been introduced (printing), English vowel phonology was both in flux and massively complex, so there’d have been little point trying to fix things.
Things like diacritics are like memes and other epidemic-like phenomena: they can occur in different places independently, they diffuse, they have carriers (in this case, influential cultures).
Diacritics on consonants in Europe seem to be an Eastern European thing; the Western choice is digraphs instead. (Polish does both, and I think there was some vacillation between the two in Eastern Europe.) Digraphs in Western Europe use <-h> as the default (by analogy with Latin’s transliteration of Greek: <ph ch th>). In fact, the three consonant diacritics I can think of in Western Europe all originated as digraphs: ss > ß, cz > ç, nn > ñ. The Eastern European meme of haceks did not make it West.
Oh, and there’s a fourth digraph in Western Europe, that turned into a letter. <w> from <uu>. Old English had a distinct character, https://en.wikipedia.org/wiki/Wynn <ƿ>; but there was no continuity between the writing of Old English and Middle English. So there was at least some innovation in English (alongside German).
For vowels, there were two options. Digraphs was the early default, and in the Early Middle Ages, I’m not sure *any* Western vernacular used diacritics. Diacritics came in gradually (don’t remember when); first the diacritics that were available from Greek, acute grave and circumflex/tilde; then others, like slashes. Some digraphs also turned into diacritics, like German ue > ü, or Danish oa > å.
Diacritics were introduced to Western vowels in the (um) later Middle Ages or Renaissance, as a cleanup activity, and got entrenched with printing. English did not take them up, and I think there were two factors in play.
1. The Middle English vowel system was prodigious, and only got more prodigious. The digraphs employed to cope with it were quite messy: oa oo ou ea ee ie, plus final e to lengthen vowels sometimes, and no intrinsic way of lengthening a i. Unlike other languages, there wasn’t a single letter that kept being used, to turn into a diacritic, the way umlauts happened. The spelling system was too messy to tidy up, when the opportunity was there.
And there wasn’t a vowel feature simple and recurring enough to fix with acutes, the way other languages did. Stress, there would be little point in indicating: it was too irregular in Middle English to begin with, because of the extreme Romance influence. Vowel quality again would have been to drastic a change, given how messy English vowels were, and that there were too many digraphs already entrenched.
God knows there were attempts; the Ormulum for example made up its own orthography, and there were attempts at spelling revision since the 16th century. But any change would have had to be more radically than you could get away with without a strong central language authority regulating it. (I’m not convinced that the absence of an English Academie means that the English are intrinsically more freedom-loving than the French, either; again, it’s memes that take root or not due to lots of random factors.)
2. When tidy-up could have happened, with the invention of printing, the Great English Vowel Shift was underway. So fixing the representation of vowels would have been like nailing down jelly.
So I think English has no diacritics, not because its phonology is easier than other Western languages’, but because it is harder.