Se non mi sbaglio dovresti azzerare counter1 e counter2 dove fai counter2=counter2+1
Quindi usando quelle due variabili come fai con stato e non come contatori.
Meglio sarebbe avere due variabili stato1 e stato2 ed i test farli su esse.
da questo:
if (stato == 1 && counter1 < 1) {
...
counter1 = counter1 + 1;
a questo:
if (stato == 1 && stato1 < 1) {
...
stato1=1;
counter1 = counter1 + 1;
Fatto questo potrai capire bene che stato1 e stato2 potrebbero diventare una sola variabile (statoled) che utilizzi non con soli 2 valori 0 o 1 ma con tre valori, 0, 1 o 2 per sapere in quale "stato" sono i led ovvero quale pezzo di codice devi eseguire.
Alla fine delle varie accensioni/spegnimenti questo "statoled" lo riporterai a 0.