First you are assigning a value to counter2 from both processes, which will give strong results in simulation and will give you an error when synthesizing.
Second, in your decelerate process, you must remember that the complete process is executed each time there is a change on the sensitivity list. This means that at each change of enable or clock_50 (including falling edges) the first two lines will be executed, and you set the values of counter2 and toggle_clk2 with counter and toggle_clk. This will probably cancel the decreasing you wanted to do.
Why don't you put everything in a single process?