Because of the linguistic effect of Norman French on English. The ruling Normans used French names for the meals they ate. The peasant Anglo-Saxons, who could not afford to eat such meats, used English names for the animals they took care of:
English English French
Animal Food Animal
------ ------- ------
cow beef bœuf (adulte mâle castré)
calf veal veau ou velle (f.) (jeune jusqu'à 6 mois)
pig pork porc
sheep mutton mouton
deer venison Norman French venaison ("to hunt"; once included boars, hares, ...)
The Normans knew nothing about turkeys or bison, so we have no Norman French words for those meats. (We use "buffalo" for bison due to Samuel de Champlain use in 1616 of the French name "buffle" for the distantly related members of the Bubalina subfamily.)
I do not know why we use "frog legs" instead of a French word. I can only guess that Britain did not have edible frogs or the Normans did not want to eat them.