digitalWrite queued signals?
The main problem I guess you are suffering from is the good old delay() blockage.

delay() is a terrible function and should be avoided at all costs.  Nothing at all can happen while you are running delay() - that means you can't be reading the state of your button - until all your delay() calls have finished.

If you want to queue the pressed of the button you will need to do three things:


You will need to recognise when the button changes from LOW to HIGH, not just "when it is HIGH" as you do now.
You will have to queue that button press somewhere. The simplest way is to maintain a count of how many times the button has been pressed.
You will have to process any pending button presses ("while the count > 0") by triggering your output with the right timing without using delay(), which means using millis() and maintaining state information.