Help With general coding please

Yes, that's a fairly advanced C++ code. It took me a little while to see what it does.

Basically, it declares an array of timers and makes each one's final act to call the .start() method of the 'next' one in the sequence. The sequence is basically fixed and you can't really interrupt or pause the timers because it's difficult to see which timer is currently active. Even if you found which one was currently running, calling .stop() on it will cause it to start the next one.

But perhaps the solution to your problem is simple. Can you see in the setup() function that it calls .start() on the first timer? So you need to read the buttons at that point and then call the appropriate start.

const int buttonToStartWithSecondTimer = 2; //put the 'hold this down when switching on' button on pin 2
void setup() {
  for (auto& t : timer) {
    t.init();
  }
  pinMode(buttonToStartWithSecondTimer, INPUT_PULLUP);
  if(digitalRead(buttonToStartWithSecondTimer) == LOW) {
    //button is pushed now (during startup)    
    timer[1].start();
  } else {
    //default - start at the first timer
    timer[0].start();
  }
}