I have to apply catalog rules every day in order for catalog rules to show
In order for your Magento store's periodic functions to work, including cache cleaning, layered navigation refreshing, search index rebuilding, log cleaning and any catalog rule components, Magento cron should be running exactly as instructed here. If you have to re-apply the rules every day after 12AM of your store's time (which may be different than your local time depending on your setup), it means that it's not running every night when it should.
A quick test would be to wait until rules are no longer validated and not showing, then run http:// YOUR_STORE_URL/cron.php in your web browser. After the script is completed running (you'll have to watch your browser progress bar), check to see if the rules became validated. If they are now showing, then that means that for some reason your cron jobs are not running. If the cron.php script executed properly, but the rules still did not become validated, then follow the "Cron jobs are enabled and my rule is valid, but I still don't see the catalog redemptions in the catalog" instructions below.