Isn’t that because the gene coding for hair color
is on the x-chromosome,
which is randomly suppressed from one cell to another.
Hence heterochromia in females only
A process not possible in males (only one x-chromosome)
If memory serves me (and sometimes it doesn’t) a calico male cat is either an XXY (and probably sterile) or perhaps a chimera.