The Schedule display page is not actually indicative of timeframe. “Schedules” are just basic rules with an extra “Schedule” tag added to them and some, definite, time-based trigger. In fact, without a fairly complicated cron expression it would be difficult to create a trigger that only runs for 30 days and then stops, that’s not really a feature.
That’s easy, just use the “Time event” when adding a trigger to your rule (schedule) and set that to “Fixed time of day”. That will indeed run forever even if you only see the next 30 days on the Schedule view.