Frequency of the CTC mode in the atmega328
The frequency you have calculated is the frequency at which the output toggles.

So if you calculate a frequency of 10kHz that means the output toggles 10,000 times per second.  That is, goes high if it's low, or goes low if it's high.  That means you have to generate two cycles through the timer to generate a single period of the output frequency.


  For generating a waveform output in CTC mode, the OC0A output can be set to toggle its logical level on each
  compare match by setting the Compare Output mode bits to toggle mode (COM0A1:0 = 1). The OC0A value will
  not be visible on the port pin unless the data direction for the pin is set to output. The waveform generated will
  have a maximum frequency of f OC0 = f clk_I/O /2 when OCR0A is set to zero (0x00).


So an calculated frequency of 10KHz will in fact generate an output frequency of 5KHz.

To make it more pictorial, here's the toggles:

CTC: 10kHz T T T T T T T T T T
Out:  5KHz 1 0 1 0 1 0 1 0 1 0


Every time the CTC cycles it inverts the IO pin.  So two cycles makes a full on-then-off cycle of the IO pin.  Hence the /2.