Effective nuclear charge of oxygen atom (O) vs oxygen anion (O2-)
The size of an anion is greater compared to its parent atom because former's effective nuclear charge is lesser than that of latter.


This is not the best explanation. The size of the anion is larger because, as Poutnik wrote in the comment, the effective nuclear charge is almost the same (if you account for nuclear charge and inner electrons only), and there is more repulsion among the valence electrons.

The size of fluorine atoms is smaller than the size of sodium atoms because the effective nuclear charge is larger in fluorine  than in sodium.

This is the typical explanation for the biggest jump in atomic sizes. It makes sense that as you add electrons to a given nucleus, the particle gets larger. It makes sense that going down a group, atoms get larger. What needs an explanation is the dip in size going within one period.

So comparing F and Na (or any other group 17 element and the following group 1 element), we go from a high effective nuclear charge (nucleus and inner electrons combined have a +7 charge) to a low effective nuclear charge (nucleus and inner electrons combined have a +1 charge). On top of that, the outer electrons are also in the next higher shell in Na (3rd period) compared to F (2nd period).

Why are we switching explanations?

Depending on which two species you compare in size, some things change and some things stay the same. Comparing $\ce{O, O- and O^2-}$, the nucleus and inner electrons don't change, so you focus on the number of electrons in the outer shell. Comparing isoelectronic species such as $\ce{O^2-, F-, Ne, Na+, Mg^2+}$, the number of electrons stays the same, but the nuclear charge (and the effective charge) change, so you would focus on that. Comparing atoms in a group, e.g. $\ce{Li, Na, K, Rb}$, the effective nuclear charge is similar (corresponding to similar chemistry of the valence electrons) and you would focus on the valence electrons occupying higher and higher shells. 



Comparing neutral atoms in order of atomic number, e.g. $\ce{O, F, Ne, Na, Mg}$, everything changes. Within a period the increasing effective nuclear charge dominates (making the atoms smaller and smaller). Jumping from one to the next period, the drastic decrease in effective nuclear is the most pronounced effect (in addition to using the next shell), resulting in a larger radius.