No, it can't. Mittag means literally "middle of day". Lunch is Mittagessen (Essen = food)
Yeah, "zu Mittag essen" means "to eat lunch", but "am Mittag essen" just means "to eat at noon". Just the way it is...
"I do not eat lunch" translates as "ich esse zu Mittag nicht". Maybe "ich esse kein Mittagessen" would be OK as well.
This is a late comment, but "Ich esse kein Mittagessen." is fine. Your first sentence should be "Ich esse nicht zu Mittag.".
why "am Mittag" is not correctly translated as "at the noon", but only "at noon"?
I think maybe it's because we don't say this in English (at the noon), but I'm not quite sure.
Right. We say "at noon," never "at the noon." Similar, "at midnight," "at midday."
"Ich esse nicht an Mittag" would also be /grammatically/ correct, right? Or would the article "dem" be required in the sentence (ignore English equivalent, please).
Am = an + dem, so Ich esse nicht an dem Mittag would be correct I think. An Mittag in itself is not enough.
"am" means "at the". It is a contraction of "an dem". Without it, you would essentially be saying "I do not eat noon."
It may be a bit confusing because in German, one uses the definite article "dem" with Mittag, but in English one uses only "noon". That's just a matter of custom and practice. I'm surec that to native speakers of German "an Mittag" sounds just as awkward as "at the noon" sounds to native English speakers. To those here for whom neither English nor German is native (or fluent), it's probably just a subtlety that you might not notice.
I put "I don't eat at lunch" and they marked it as wrong - does nobody else refer to lunchtime as just lunch?
Yes, "lunchtime" can at times be referred to as just "lunch" like that. But the sentence wasn't about "lunchtime", it was about "midday/noon". My lunchtime (or, my lunch) at work is 11, so I don't eat at noon. Ich esse nicht am Mittag.