Here's why they use certain minerals:
Protein: exactly as you said, more protein = more muscle = more physical strength
Iron: Iron is a vital mineral for the body. It is actually responsible for transporting oxygen around your body. Low iron = low oxygen = less energy and thus weaker.
Calcium: The hardest one to give a proper definition as special attacks in general don't really exist (I for one have never been hit by a psybeam). Anyway, although calcium's main function in the body is for bone strength, that doesn't really apply to special attack. However calcium is also vital in nerve function. Nerve cells are responsible for the carrying of information around the body which mostly comes from the brain. As such to do strong special attacks you need a strong mind (as that's where special attacks generally arise from) and therefore you need calcium to ensure you have a strong brain.
Zinc: A bit easier than calcium. Zinc is responsible for a healthy immune system. In a way your immune system is like a special defence, protecting you from bacteria, viruses, fungi etc. Therefore zinc will give you a better immune system and thus better special defence. I'm aware that it is kinda contradictory to my view on special attacks but it's the best way to get it all to work.
Carbos: again you're totally correct. Carbohydrates = more energy = more speed.
Hope that clears it up.
Source: I'm a medic.