A pull down button, as you've mentioned in the title, is wired between an arduino pin and ground. It needs a pullup resistor (or use the pin internal pullup resistor). When the button is depressed, digitalRead() returns a value of LOW.
One method of handling your case of multiple button presses is to maintain a state for the button and toggle the state on each press.
It looks like the exercise has been formulated such that you have to either millis() to control the timings of the leds or use an external interrupt to break the light sequence.