With the 555 timer I believe there is a normally a discrepancy at higher frequencies between the calculated frequency (using the data sheet equations) and the actual output frequency. This discrepancy increases as the set frequency increases with the calculated frequency always being higher in value than the actual measured output frequency.
I believe this discrepancy is due to the internal delay within the 555. This is the delay between when the voltage on pin 2 (the timing capacitor voltage) crosses either of the thresholds of the two internal comparators and when the transistor, which switches the discharge pin (pin 7), actually switches.
The two threshold voltages of the 555's internal comparators are internally set at about 1/3 Vcc and 2/3 Vcc.
If you have a look at the 'triangular' waveform on pin 2 with an oscilloscope you will see that, at higher frequencies, the 'triangular' wave extends (ramps up) above the 2/3 Vcc threshold level and ramps down below the 1/3 Vcc threshold level. I believe this is not due to the comparator threshold levels changing at higher frequencies but due to the interal 555 delay, the delay between when the pin 2 'triangular' wave crosses a 1/3 Vcc or 2/3 Vcc internal comparator threshold and when the pin 7 discharge pin actually switches.
This internal delay becomes more significant at higher frequencies because at higher frequencies it become more significant compared to the high and low times of the output signal, that is to say compared to the positive going and negative going ramp periods of the pin 2 'triangular' waveform.
So, I believe that because of the internal delay within the 555, the pk to pk amplitude of the pin 2 'triangular' wave increases as frequency increases which results in a discrepancy between calculated and actual frequency which also increases as frequency increases.