Der Compiler kennt nur die Infos die du ihm gibst und das ist bestenfalls das F_CPU Makro, die fuses kann dein compiler nicht wissen, das ist eine andere Baustelle

und wenn du falsche Zeiten gibst rennt deine sleep_ms(1000) eben in 1/8tel Sekunden durch statt einer ganzen Sekunde wenn das CKDIV8 nicht an ist