It's not clear but since you say "The backup job can only run once a day because it triggers other actions" it sounds like you want to know "How do I schedule daily/weekly/monthly with cron?" and "How do I retain those for the said retention times?".
Break it down into 2 separate problems. Create schedules and then apply those schedules to a retention policy. You can then assign your policy to a set of configs in a profile.
You have highlighted another good point, "How do I trigger daily/weekly/monthly without duplicating backups?" Since I was unable to figure out the weekly/monthly problem I use:
0 0 0 ? * MON-SAT
0 0 0 ? * SUN
0 15 0 ? * SUN#1
In your case, perhaps you would add logic in the postscript to not execute if it was the last sunday in the month. If some quartz guru has a solution on how to do the weekly/monthly better it would help!
The problem resides: Support for specifying both a day-of-week and a day-of-month value is not complete (you must currently use the '?' character in one of these fields). This means you can't use both in one cron line.