Both "many" and "much" can be used, depending on context.
This is because "fish" can be countable or uncountable, depending on the definition in use. Refer to these definitions (from Oxford Dictionaries):
1 A limbless cold-blooded vertebrate animal with gills and fins living
wholly in water:
"the huge lakes are now devoid of fish"
1.1 [mass noun] The flesh of fish as food:
"a dinner of meat, dried fish, and bread"
Note: "Mass noun" means the same as "uncountable noun."
Your sentences are both correct and are likely to be understood, although #2 ("much") does, to me at least, sound a bit odd. They could be interpreted as follows.
How many fish did you catch yesterday?
A question about the number of individual fish caught. You might reply with a number ("five"), or you might specify the species of fish caught ("two cod and three haddock").
How much fish did you catch yesterday?
A question about the weight of fish caught, not the number. You might reply with a single weight ("three kilos"), or (again) it could be split by species ("one kilo of cod and two of haddock").
The interpretation changes slightly in other contexts, but remains largely the same. Consider the following sentences:
How many fish do you want?
Probably an odd question for large fish, but perfectly reasonable for whitebait or other small fish where multiple are eaten at a time. If a larger fish was involved, you'd be more likely to ask:
How much fish do you want?
A normal answer could be "the whole fish" or "half the fish," if you were being served a large fish. You wouldn't ask this for fish like whitebait. You could, technically, specify a weight here, but I would expect it to be much more likely for a fraction of the fish to be given instead.
Of course, if you were being offered more than one large fish, it makes more sense to use "many" because then the question is about multiple discrete fish rather than a quantity of the flesh from one fish.