I think you're destroying the timer before it can complete.
Timer2 is a child of bullet, but in
_on_Timer_timeout for the first timer, you call
queue_free(). This destroys the bullet AND its children. This means timer2 is freed before it can timeout.
You can fix this by changing Timer2 to be a child of the player, which would make resetting acceleration easier:
if "Player" in body.name:
body.ACCELERATION = 10
the signal and timeout function would then be moved to the player:
ACCELERATION = 50 #Timer now finishes as a child of player