Slow clock speed with Atmega328P AVR microcontroller on breadboard
The delay functions calculate the clock cycles by looking at the F_CPU macro. You have to set the #define    F_CPU   16000000UL so it matches the actual CPU speed.

That actual CPU speed is set by programming the fuses correctly. I think you forgot that step.