Try replacing the Submission_Date and Sub_Time variables with the NOW() function. Instead of using a separate field, that will perform the calculations with the current date/time when the form loads.
For example,
=DATEDIF(DATEVALUE(NOW()),Close_Date,"D")
=SUB(TIMEVALUE(NOW()), Close_Time)
And you could also simplify your status formula by using the OR and AND functions
=IF(OR(Date_Diff<0,AND(Date_Diff=0,Time_Diff<0)),"ONTIME","LATE")
Basically, either Date_Diff is less than 0, or Date_Diff is 0 AND Time_Diff is less than 0.
One thing to look out for is that you'll need a lot of decimal spaces if your Time_Diff field is a number field because the difference could be very small and that calculation may not behave properly if enough of the value is rounded/truncated.
Another option is to just consolidate time diff into the one function and get rid of the independent "Time_diff" variable. Then you shouldn't have to worry about the decimal length of the number fields and you could eliminate more variables.
=IF(OR(Date_Diff<0,AND(Date_Diff=0,SUB(TIMEVALUE(NOW()),Close_Time)<0)),"ONTIME","LATE")