Mi inserisco nella discussione, visto che sei agli inizi (come hai detto nella presentazione) ti consiglio vivamente di evitare i goto e se trovi qualche tutoria su qualche sito che li usa... SCAPPAAAAAAA
A parte gli scherzi non si possono proprio vedere, nel tuo caso ad esempio puoi sostituire i goto con una chiamata ad una funzione che non ritorna nulla (void):
if (digitalRead(Automatico == HIGH))
{
 primoPasso();
 delay(2000);
 secondopasso();
 delay(2000);
 terzoPasso();
 ... ecc...
}
fuori dal lopp dichiari le funzioni:
void primoPasso()
{
 digitalWrite(1, HIGH);
 digitalWrite(2, LOW);
 digitalWrite(3, HIGH);
 digitalWrite(4, LOW);
 digitalWrite(5, HIGH);
 digitalWrite(6, LOW);
 digitalWrite(7, LOW);
 digitalWrite(8, LOW);
 digitalWrite(9, HIGH);
 digitalWrite(10, LOW);
 digitalWrite(11, LOW);
}
void secondoPasso()
{
 digitalWrite(1, HIGH);
 digitalWrite(2, HIGH);
 digitalWrite(3, HIGH);
 digitalWrite(4, LOW);
 digitalWrite(5, HIGH);
 digitalWrite(6, HIGH);
 digitalWrite(7, HIGH);
 digitalWrite(8, HIGH);
 digitalWrite(9, LOW);
 digitalWrite(10, HIGH);
 digitalWrite(11, HIGH);
}
...ecc...
Poi la cosa si potrebbe otimizzare ulteriormente ma procediamo per gradi così apprendi meglio i rudimenti e poi nessuno ti fermerà più