When the button checks have previousMillis in like this, the LED is constantly at half brightness when a button is held.
Looks to me like the error is in your button reading routine.
Each time round the loop, you need to check if the button state has changed
from the previous time. At the moment, keeping the button pressed resets everything each time round the loop, hence the dimmed ( = rapid flashing) LED.
You need a 'ButtonsLastTime' variable that you check against 'ButtonsThisTime'. If they are the same, don't reset anything.