If I understand correctly, you want the start day to be a specific day (e.g. Sep 23, 2022). This change is not as trivial as you might think — just deleting the modulo operation will not work. To start, the ‘start’ day being a modulo is not my invention, on traditional sprinkler controllers, this is basically how the parameters are set. Say if you have a program that runs every 5 days, and you don’t want it to run on the day the program was created, instead you want it to start in 4 days, and then every 5 days from then. The ‘start’ day parameter will change dynamically, for example, tomorrow when you check the program, it will say start in 3 days, and the day after tomorrow it will say start in 2 days etc. The way this is implemented is to modulo today with the interval day (5) and compare it with the remainder and that tells whether today is when the program will run or not. As you can see, if the ‘start’ day is more than the interval, this comparison will not work.
What you want is for the program to record a specific day (say, Sep 23, 2022) and that you want the program to start on that day and every x days from that. This is all doable — it will need to involve both firmware changes (including changes to the program data structure because each program has to store a specific day), and also UI changes. This is nothing complicated, but what I am saying is it’s not as simple as deleting the modulo operation.