Variable time alarm using 555 timer
The complexity of the sequence and the relatively long times makes a 555 timer completely unsuitable for this task.  Actually, you'd need quite a few of them for timing the various parts of these signals, and then some logic to gate and sequence things.  That would turn into quite a ratsnest of stuff.

Use a microcontroller.  What you ask is relatively simple to do in even a modest micro.  All you need from one is 3 inputs and 3 outputs, which just about every micro with 8 or more pins can do.

In the firmware, divide the clock down to get 1 second events.  Then write code that waits for N one second events between doing things.  I'd set up a 1 ms periodic interrupt to debounce the input buttons, and use that to also count to 1000 to create the 1 second events.

This is really a rather simple task for a microcontroller.