Why isn’t it “a dozen of eggs” when it’s standard to say “a couple of eggs”? The answer is that “dozen” is a precise number word, like “two” or “hundred”; we say “two eggs,” “a hundred eggs,” and “a dozen eggs.”

“Couple” is often used less precisely, to mean “a few,” so it isn’t treated grammatically as an exact number. “A couple eggs” is less standard than “a couple of eggs.”

“Dozens of eggs” is standard because you’re not specifying how many dozens you’re talking about.