You can have as many Time Input widgets as you desire, we just use separate widgets for weekdays and weekends because it suits our needs. As the Time Input widget works without stopping the project then we can change the times of the schedule when we want to.
If we wanted several on an off times during a day we would use more than 2 Time Input widgets.
Take a look at the timeChecker() function in our code at How to use Advanced TimeInput to turn on/off an output?
If you have more than one time to check in a day you would simply duplicate, triplicate everything including the variable names. So timerChecker2(), timeChecker3() and modify all the variables accordingly.
Please describe your “empty home mode” and “wake up mode” in more detail.