Inside loop(), when the button is pressed you have a "for" loop that ramps the LED from dark to bright over over about 1.5 seconds. Then you exit loop() and loop() gets called again, the button is still down, so it hits the "for" loop and again rams from dark to light.
That probably isn't what you want.
Maybe at the end of loop(), before you exit you want to wait for the button to be released, or maybe you want to make a variable to set to say "I have already turned on the LED and not yet turned it off" so you know not to ramp it up again.