Manipular velocidad de motor Dc por medio de la cantidad de botones oprimidos.

Podrias hacer simplemente esto, usar los pesos binarios de cada botón asignándole el peso deacuerdo a su posición.
El boton 0 tendra peso 0 o menos significativo
El boton 5 tendrá peso 32 o mas seginificativo

void loop() {
  
   delay(20); 
  
  // MSB  5 4 3 2 1 0
  //      1 1 1 1 1 1 = 63
  int stateButton = digitalRead(pinButton) + ;  // peso 0
                    digitalRead(pinButton1)<<1+ // peso 1
                    digitalRead(pinButton2)<<2+
                    digitalRead(pinButton3)<<3+
                    digitalRead(pinButton4)<<4+
                    digitalRead(pinButton5)<<5;
  
  // los valores irán desde 0 a 63 = 2^6-1
  Serial.println("posicion"+ String(i)+":"+String(stateButton);

}