The 1-12 selection is probably a good idea. I can't imagine, however, that anyone would repeat an event on every 31st day of the month, since many months don't have that many days. It's just awkward. I think a more likely scenario is that someone would repeat an event on the last friday or the month, or last wednesday, etc... And that feature is available.
Even the Google Calendar interface only displays 30 days for every month in its repeating event feature. Plus, it makes a nice rectangle!