Push Button with two functions

but the timed hold is an example on how to use millis().

Well, I recognize that. But, clearly OP didn't. I think that the blink without delay example is a better choice, but only because it is focusing only on one task. Your code shows how to do a number of things, not all of which are on OPs requirements list.