First, let's clear up that in the sentence
J'en ai marre de ce virus !
en is a pronoun while de is a preposition. That is, while they appear to have the same meaning ("of"), they don't have the same function.
The preposition de is required for the indirect object de ce virus. In French, the indirect object requires a preposition, so that is why it must be in the sentence even if it has the same semantic meaning as the indirect object pronoun en. Or in other words, the preposition de isn't placed in the sentence for its semantic meaning alone, but for it's grammatical function as well.
Similarly, the indirect object pronoun en isn't placed in the sentence for its semantic meaning alone, rather it is a required part of the phrasal verb en avoir marre. In contemporary French, marre cannot be used without en or avoir, they are a fixed, or as @None has explained, "calcified", construction (no different than rendez-vous is a "calcified" construction).
So what happens in your sentence is, in essence, that a phrasal verb and an indirect object are constructed according to the rules of grammar and then combined. That two words in a sentence carry the same semantic meaning in part isn't uncommon. Here is a similar construction:
J'en ai marre de ...
Il y a ... dans ...
(You may note that English has a similar construction as well with the same repetition of meaning: There is ... in ...)