3 boutons - 4 leds : comportement étrange...

J'ai modifié comme ça:

const byte pushButtons[] = {2,3,4};
const byte leds[] = {6,7,8};
int buttonPushCounter[] = {0,0,0};   // counter for the number of button presses

/**********************************************************************/
void setup()
{
  for(int l=0;l<3;l++)
  {
    pinMode(pushButtons[l], INPUT_PULLUP);
    pinMode(leds[l], OUTPUT);
  }
  pinMode(13, OUTPUT);
  digitalWrite(13, HIGH);
}
/**********************************************************************/

void resetAllLeds()
{
  for(int k=0; k<3; k++)
  {
    digitalWrite(leds[k], LOW);
   }
  digitalWrite(13, LOW);
}
/**********************************************************************/
void resetCounter()
{
  for(int j=0; j<3; j++)
  {
    buttonPushCounter[j]= 0;
  }
}  
/**********************************************************************/
void loop() //ok
{
  static bool prevButtonState[3] = {};  // état précédent du bouton
  bool buttonState;
  for (byte i = 0; i < 3; i++)
  {
    buttonState = !digitalRead(pushButtons[i]); // ! pour raisonner en logique positive
    if (buttonState != prevButtonState[i])
    {
      // le bouton a changé dtétat
      prevButtonState[i] = buttonState;
      if (buttonState)
      {
        // on vient d'enfoncer le bouton
        if (buttonPushCounter[i] == 0)
        {
          // premier appui sur le bouton
          resetCounter();
          resetAllLeds();
          buttonPushCounter[i]++;
          digitalWrite(leds[i], HIGH);
        }
        else
        {
          // deuxième appui sur le bouton
          resetCounter();
          resetAllLeds();
          digitalWrite(13, HIGH);
        }
      }
      delay(20);  // anti rebond
    }
  }
}

Pourquoi tu as mis des diodes?