How does SQL Server store the information in Job Schedule Properties? I know there is SELECT * FROM msdb..sysjobschedules, but that just shows the next time a job is scheduled to run.

I want to know how this is all determined and stored.  So where does it store the value for Recurs every Monday check box?
Every 20 minutes (this seems to NOT be configurable), the 'next run' information in sysjobschedules is updated by looking at the information you can see in sysschedules.

You know how when you define a job you have to go through a slightly convoluted process of rather than just saying 'run this job every monday', instead defining a schedule that says that, and associating the job with the schedule? This is why - they have independent existences.