Why Serial Monitor shows double "Getting your variable"?

    previousMillis = currentMillis;   // save the last time value=0.00;

That is NOT what that code is doing. If you used some meaningful names for now and then, you'd learn that it is no mystery WHEN you need to assign a value to the then variable, and you'd KNOW that that comment is nonsense.