Cronómetro con 2 botones [inicio + restablecimiento]

Explícate mejor porque no termino de entender cuál es la función de cada botón.
Tienes dos pero los describes como si tuvieses 3.

La idea es que te entendamos sin tener que mirar el código.

Tu mayor problema es este

    if(digitalRead(pulsador_pausa) == HIGH)
    {
      delay(200);
      while(digitalRead(pulsador_pausa) == LOW);
      delay(200);
    }

Cuando está en pausa ahí se queda esperando que pulses otra vez el botón. ¿En que momento leería el otro para hacer la vuelta a 0?

Lo que quieres hacer no es complicado, he hecho un cronómetro que hace lo mismo con un solo pulsador.

Tienes que guardar el estado en el que está el cronómetro en una variable.
Por ejemplo, defines una variable estado que guarde 0 cuando está detenido, 1 cuando está corriendo, 2 cuando está en pausa.

Ahora, cuando lees el botón inicio, si estado es 0 solo puedes iniciar el cronómetro, nada más. Pones estado en 1 e inicias la cuenta.
En cambio si estado es 2 (está en pausa), hace el restablecimiento a 0 y pones 0 en estado.

Cuando lees el botón pausa, si estado está en 1 (está corriendo) solo puedes pausar entonces pones estado en 2 y haces la pausa, y si estado está en 2, solo puede continuar, entonces pones otra vez estado en 1 y sales de la pausa.

Otra cosa, millis() cuenta el tiempo desde que enciendes el arduino, pero si cuando inicias tu cronómetro guardas el valor de millis() en una variable y luego restas ese valor a millis() sabes los mseg transcurridos, luego puedes ir calculando hs, min, seg y cent, sin la necesidad de tener contadores separados (que además te agregan retrasos).

En definitiva, tendrías que repensar el código. :man_facepalming:t2:

Saludos