It works after a reset because a new set of LocalScripts will be copied into the player, i.e. making the out-of-scope code that fills the billboard to execute once more.
The OP wants the billboard to reset on the timer event which it simply cannot do using the code as it is, see line 70 in the LocalScript “HatchClient”.