The 555 on the left is simply a monostable to debounce the switch and give a single clean clock pulse to the 4017.
The 4017 is a decade Johnson counter having a single output high at a time; the output is advanced each time you push the switch. At the 10 outputs of the 4017 are 10 variable resistors; when an output of the 4017 is high, current flows through it's associated variable resistor to charge the cap on the second 555 timer. This timer provides a constant on time (off time varies based on the value of the variable resistor) to the output motor through the current buffer transistors.
Varying the ratio of on time to off time changes the power to the motor and therefore its speed; see PWM for more info.