Code:
ISR (TIMER1_OVF_vect)
{
 
    long timer_1 = 0 ;                          // Variable "Timer1" deklarieren
    long timer_2 = 0 ;                          // Variable "Timer2" deklarieren
   
 while (1)
 
 {
    
   timer_1 ++;                          // Vorladewert von 0 an inkrementieren
     
   PORTB = 0xAA ;                      // ungerade LED´s werden für 1 ms beleuchtet
   
   if (timer_1 = preload_value_1) 
 
   {
 
     TIMSK = (1 << TOIE1);                // 1 ms ist vergangen -> Interrupt einschalten
  
  }
   
  
  else { 
   
   timer_2 ++;
     
    PORTB=0x55 ;               // gerade LED´s werden für 9 ms beleuchtet
     
   if (timer_2 = preload_value_2)
   { 
    TIMSK = (1 << TOTIE1);             //  9 ms sind vergangen-> Interrupt einschalten
   }
            
  }
 }
}
warum hast du in dein Interrupt eine Endlosschleife?

Code:
int main (void)
{
 DDRB |=(1<<PB2);           // Output 1
 DDRB |=(1<<PB3);           // Output 2
     
  
sei ();
  
  
   
}
Dein Programm ist schneller beendet, als der Timer1 sein Interrupt auslöst.
Und du greifst gar nicht auf deine init_Timer1 Funktion zu. Also läuft dieser erst gar nicht an.