Here's a circuit which should accomplish what you want. It uses a dual 555, namely a 556 with two different rates. A CD4022 is used to count the button pushes. A pair of NAND gates debounces of the push button input, so the counter doesn't advance erratically.
The first two outputs select one of the two rates using AND gates. The third output is steady on. The fourth output resets the counter. The outputs for states 1, 2, and 3 are diode-OR'ed together, to operate an N-channel MOSFET Q1 which turns on the LED.
Right click and select View Image for a large picture.
Since this is a battery-operated circuit, battery life must be taken into account. While the LED is off, the 4022 counter, AND gates, and NAND gates draw only a few µA of current, so they have little effect on battery life. However the 556 is actively generating two different pulse trains and drawing up to 500 µA (assuming a low-power 556; standard ones can draw several mA). So there is a high-side P-channel MOSFET Q2 that supplies power to the 556 only if the counter is on count 1 (slow flash) or 2 (fast flash). If either input to the NOR gate is 1, the output is 0, turning on the FET.