Hemoglobin is an iron-containing oxygen transport metalloprotein in the red blood cells of most mammals. Simply put, it's a carrier protein. Interestingly it doesn't carry carbon dioxide in the same way it does for oxygen $\ce{O2}$. Oxygen binds to the iron atoms in the protein whereas carbon dioxide $\ce{CO2}$ is bound to the protein chains of the structure. Carbon dioxide doesn't compete with oxygen in this binding process.
However, carbon monoxide $\ce{CO}$ is a very aggressive molecule. It's a colourless, odourless, and tasteless gas that is lighter than air and can be fatal to life. It has a greater affinity for hemoglobin than oxygen does. It displaces oxygen and quickly binds, so very little oxygen is transported through the body cells.
There are two equilibrium reactions of binding oxygen and becoming oxygenated hemoglobin:
$$\ce{Hb (aq) + 4O2 (g) -> Hb(O2)4 (aq)}$$
$$\ce{Hb (aq) + 4O2 (g) <- Hb(O2)4 (aq)}$$
And carbon monoxide binding equation at equilibrium:
$$\ce{Hb (aq) + 4CO (g) ⇋ Hb(CO)4 (aq)}$$
It is said the equation is shifted towards right, generating Hb(CO)4 (aq), since its bond is much stronger.
I have two main related questions:
Why is the carboxyhemoglobin bond stronger relative to that of oxygenated hemoglobin?
Why is carbon monoxide highly attracted to hemoglobin?
Does it have anything to do with the oxidation state of oxygen in each molecule? Please show some reaction equations associating $\ce{Fe}$.