I am looking for an answer that is just a bit deeper than "because copper has a full 3d shell, thus no unpaired electrons".
Iron has a magnetic moment of 2.2 bohr magnetons per atom. You can explain this by starting with the number of valence electrons in an isolated iron atom (8) and then using Hall voltage measurements that show there is about 1 electron (I think the exact measurement is 0.95) per atom in the conduction band, leaving 7 electrons in the 3d band. Of those 7 electrons, 4.6 electrons per atom have a common spin (let's say up) and 2.4 have opposite (down) spin because of the exchange interaction, which gives 4.6 - 2.4 = 2.2.
I can do the same with Co and Ni, using 0.6 conduction electron per atom for both and allowing 5 electrons to be spin up, since exchange interaction energy gain cannot be compensated by promoting electrons to higher energy levels. That gives 1.6 b.m. per atom for Co and 0.6 b.m. per atom for Ni.
Now, I would like to apply a similar reasoning to explain why copper is not ferromagnetic. Copper has 11 valence electrons, but Hall voltage gives about 1.3 conduction electron per atom, leaving 9.7 electrons in the 3d band. Why doesn't copper end up with 5 electrons with spin up and 4.7 with spin down, thus giving it 0.3 bohr magneton per atom?