The primary reason sodium ions are smaller than sodium atoms is that the ion has only two shells of electrons (the atom has three). Some resources suggest the ion gets smaller since there are less electrons being pulled by the nucleus. Comments?
The cation does not get smaller because less electrons are being pulled by the nucleus per se, it gets smaller because there is less electron-electron repulsion, and thus less shielding, for the electrons that continue to surround the nucleus.
In other words, effective nuclear charge, or
All the above ions have 10 electrons surrounding their nucleus; notice how when electrons are added, which is the case for anions, the ionic size increases - this happens because there is greater electron-electron repulsion and shielding.
On the other side of the spectrum, when electrons are removed, like in the case of cations, ionic size is smaller because, of course, there is now less electron-electron repulsion and shielding.
Atomic and ionic size are all about effective nuclear charge, which is a measure of how strong the attractive force that's coming from the nucleus is being felt by an electron.
When more electrons are present for the same number of protons, i.e. you have an anion, they will be able to screen each other better
Likewise, when fewer electrons are present for the same number of protons, i.e. you have a cation, their screening abilitties will decrease