Because it is Polish and we have cases(7). Usually only subject of the sentence is in nominative case( the dictionary one), only the "TO" sentences are exceptions.
Eat something needs accusative, ( it is usual case for direct objects)
You may have not noticed this before, because neuter nouns and masculine not animated nouns have accusative=nominative.
it depends on the food item: for example, you would ask, "Do you eat/like pizza?" or "Do you eat/like pork?"
however, sandwich would need to be plural. "Do you like/eat sandwiches?"
and yes, both forms are used, especially in questions like the above or in the negative—I don't like mushrooms (implying I can, but don't enjoy the experience), but I don't eat ham (implying an allergy, perhaps a religious objection, or other dietary restriction).
Conversely, if someone is on a diet or has developed an allergy they didn't used to have, they might have liked something but not eat it any longer—"I like bacon, but now I've gone vegetarian, I don't eat it."
…I have no idea how you would ask any of these questions or make any of these statements in Polish.
The best translation of Present Simple "to eat" is a habitual verb "jadać", although normal "jeść" is okay as well.
So for example "Nie jadam szynki" means that I do not eat ham at all, possibly for the reasons you mentioned.
"Lubię bekon, ale [przeszedłem/przeszłam] na wegetarianizm, więc już go nie jadam".
Do you mean "the sandwich" is not accepted? - please report it.
Or do you mean you believe "Are you eating sandwich" should be accepted? Are you sure? I think "general sandwich" is "a sandwich", "specific sandwich" is "the sandwich".
But if you are native English speaker and are sure what you wrote is correct in standard (British or American) English please report it.