Control Remoto de Reles v1.0 - Arduino Uno + Ethernet Shield + Placa de 8 Reles

Deberías empollarte un poco sobre bucles y arrays. Descubrirás que tu código actualmente ocupa casi ocho veces lo que debería ocupar de estar bien optimizado. El que tiene que repetir las cosas es el arduino, no tú. Tú debes aprender cómo decirle a la máquina qué hay que repetir y qué debe cambiar en cada repetición.
Te pongo un ejemplo, de lo que sería la inicialización de los led y los estados. Como ves, en lugar de usar PIN_LED1, PIN_LED2... PIN_LED8 uso PIN_LED[0], PIN_LED[1], ... PIN_LED[7]. Eso es un array, y tiene la particularidad de que puedo sustituir el número entre corchetes por una variable, que es lo que lo hace tan útil:

int PIN_LED[8]={5, 6, 7, 8, 9 , 11, 12, 13}; // equivale a PIN_LED[0]=5; PIN_LED[1]=6, etc...
bool state[8];

void setup()
{
  for (int i=0; i<8; i++) {
        pinMode(PIN_LED[i],OUTPUT);
        digitalWrite(PIN_LED[i],LOW);
        state[i]=false;
  }
}