2 reles 1 pulsador solucionado

ya me ayudaron ROG amable mente consiguio entender mi necesidad ahora solo falta cerrar el hilo espero lograr lo

int pinled_A = 10;
int pinled_B = 11;
int pinboton = 9;
boolean estadoboton;

void setup(){
  pinMode(pinled_A, OUTPUT);
  pinMode(pinled_B, OUTPUT);
  pinMode(pinboton,   INPUT);
  
}
void loop (){
  estadoboton = digitalRead(pinboton);
  if (estadoboton==1){
    digitalWrite(pinled_A, HIGH);
  }
  if(estadoboton==0){
     digitalWrite(pinled_A, LOW);
  }
    estadoboton = digitalRead(pinboton);
  if (estadoboton==1){
    digitalWrite(pinled_B, LOW);
  }
  if(estadoboton==0){
     digitalWrite(pinled_B, HIGH);
       estadoboton = digitalRead(pinboton);
  if (estadoboton==1){
    digitalWrite(pinled_B, LOW);
  }
  if(estadoboton==0){
     digitalWrite(pinled_B, LOW);
  }
  }
}

Buen dia
Antes que nada te invito a que te pases por las normas del foro y despues editar tu post, los codigos van entre etiquetas <> y no como texto plano.
En cuanto a tu codigo, si quieres que algo funcione bien, olvidate de los delay, tienes que usar millis() si o si.
Pasando a tu codigo ,veo que repites esto

pulsador = digitalRead(4); 
  if((pulsador==HIGH)&&(pulsadorAnt==LOW)){  
    estado=1-estado;
    delay(60);               
  }
  pulsadorAnt=pulsador;              
  
  if(estado==1) {           
  
  }

Eso no es necesario, para leer el estado del pulsador con una vez basta.
En tu caso no es necesario detectar el cambio de flanco, con solo leer el estado del pulsador es suficiente.

Y por ultimo esto:

switch(estado);

no sirve de nada
Debajo te dejo el código con los cambio que hice, pruebalo, tiene que funcionar

//2_rele_un_pulsador_que_alternan.ino
 
 bool pulsador;             
//int estado=0;               
//int pulsadorAnt=0;         
const byte relay1=5;    //5
const byte relay2=2; //2
unsigned long millisActual;
unsigned long intervalo=300;   //Tiempo entre cambio de relay

void setup() {
  pinMode(relay1, OUTPUT);
  pinMode(relay2, OUTPUT);        
  pinMode(4, INPUT);   //pulsador         
}

void loop() {
  //switch(estado);     Esto no tiene razon de ser, ASI no se usa un switch-case
  
  pulsador = digitalRead(4); 
  if(pulsador)
    alternarRelay();
  else{
    digitalWrite(relay1,LOW);
    digitalWrite(relay2,LOW);   
      }
  }

void alternarRelay(){

    if(millis() - millisActual >= intervalo){
          if(digitalRead(relay1))
              digitalWrite(relay1, LOW);
          else
              digitalWrite(relay1, HIGH);

          digitalWrite(relay2, !digitalRead(relay1));        
        millisActual=millis();
    }

}

En el ide mira el ejemplo blink Whitout delay y veras que es muy parecido a lo que puse aqui arriba
En la seccion documentacion hay buenos tutoriales, te los recomiendo en especial los que tratan sobre millis()

Espero que te sirva, saludos

Edito: olvide cambiar el pin del relay2 yo puse el 13 y tu lo tenias en el 2, pero ya hice el cambio en el codigo, puedes probarlo como está.
y otra cosa: para cambiar la velocidad con que alternan los relay, modifica la variable intervalo

Prueba con esto feliperuiz, creo que es lo que tratas de hacer.
El delay es a tu gusto, solo lo puse de 1s para que pudieras apreciar el cambio.

int R1=2; //Relay1
int R2=3;// Relay2

int boton=4;
int estado;

void setup(){
pinMode(boton,INPUT);
pinMode(R1,OUTPUT);
pinMode(R2,OUTPUT);
  
}

void loop(){
  estado=digitalRead(boton);
  
  if(estado==HIGH){
    digitalWrite(R1,HIGH);
    delay(1000);
    digitalWrite(R1,LOW);
    digitalWrite(R2,HIGH);
    delay(1000);
    digitalWrite(R2,LOW);
  }else{
    digitalWrite(R1,LOW);
    digitalWrite(R2,LOW);
  }
}