Why do we have words like beef, ham, and steak when words like cow, pig, and bull could easily do the job?
Because names of food were taken from the French after the Norman invasion. The rulers, who spoke French, talked about the food; the peasants, who spoke the version of English then current, talked about the animals.
Yes, in French today, 'porc' means BOTH pig (the animal) and pork (the food item); 'boeuf' means BOTH ox (the animal) and beef (the food item). Also, 'veau' is BOTH calf (the animal) and veal (the food item) and 'mouton' can be mutton (food item), or sheep (animal) or even sheepskin.