So i asked my Italian husband exactly this and he said its just an exception in the language. You can say il gatto mangia pesce, but you can't say il gatto mangia uccello. Pesce can be singular and still refer to the plural idea of fish. It's just an exception.
In the English sentence "The Penguin eats fish", fish is plural, for it to be singular there would need to be an "a" before 'fish'. Is that different in Italian? Can pesce (fish singular) be used without an 'un' before it?
That is amazing how you can keep all those languages in your head and not get them mixed up! I can barely remember what I need to for Italian. The languages derived from Latin are similar in many ways too making them easy to confuse, for me at least!! Kudos to you!!