The project seems interesting. I have an idea, get 3 cheap desk lamps that accept standard light bulbs, like this one:
Preferably get them all in black. You could probably get away with simple light bulb sockets, but make sure they are safely mounted, electrically isolated and grounded wherever you put them (like these ones):
Get yourself some colored, very low power LED light bulbs like these:
These stuff just have typical LEDs inside colored plastic shells and their output is typically less than 1W. Get them in blue, red and yellow (or the colors of your choice) and just put some stickers or paint of the same color on the bins.
Then you just need to buy 5V relay switches (preferably solid state ones for longevity) and connect them to your Pi’s GPIO pins and program them to light up on whatever day, during whatever hours. I think you only need 4 pins for this to work. I would advise against the Pi Zero, get the Pi Zero W for wi-fi connectivity, if power goes down for whatever reason, even with a battery pack, you would still want the Pi to synchronize its time online with a NTP server. Alternatively, just get any used Pi version 1 for cheap and use wifi dongles or something.
Ninja edit for formatting the text for readability.
Edit 4: ok, after reading some comments for suggestion (and actually reading all the OP), it seems my solution would be the cheapest, as light bulbs + sockets, a Pi Zero W and 3x 5v Relay Switches are way cheaper than displays and probably still cheaper than smart bulbs or RGB light bulbs. You can probably source those locally. All you would need after, is 2 type of wires (your grandparents may have some) and an old charger to power the Pi (you probably have one laying around). Funnily enough, I didn’t even read the budget part, I just thought of the cheapest and simplest solution from the get-go (gotta have my priorities, right?).
You could add a button that would cycle the LED of the day on / off, something llike, “hey, I don’t want this cheap LED that is barely noticeable on my electricity bill to run all day, so let me press this momentary switch to shut it down for today.” Pressing it again, would light up the LED again. I would prefer to have the LED turn on automatically between 7 am and 1pm and only turn them off if you got the bins out by pressing the switch (maybe that’s just me). It is pretty easy to implement all of this in software.
I also dig the idea about connecting some old desktop speakers to it and just have your voice recorded with “Today is General Waste day,” “Today is Dry Recyclables day” and “Today is Garden Waste day.” Whenever you press the momentary switch, you could have your small program just play the recording according to the type of waste collection day. Depending on your implementation, pressing the button could start a timer of 3 to 5 seconds, time in which if the switch is pressed again, the light turns off. If more than 5 seconds pass, the switch “resets” and pressing it again will play your recording again and the timer starts again.
You could even use the switch days before the collection day, like say for example, today being Monday and when pressing the momentary switch will light up the led for the type of garbage and play a recording “in 3 days it will be X waste day” and have the correct LED turn on during the playback of the recording. Pressing the switch again would just repeat the process. And again, everything can be done in software, you only need the light bulbs, sockets, wires, the Pi, a charger, a momentary switch, speakers, wifi and (obviously) electricity.
Edit 5: technically you can scrap the LED / light bulb ideas, just get old PC speakers, an used *Pi v1 or similar (with integrated wifi or a dongle) and a momentary switch, this is all you need for such a project (unless your grandparents are completely deaf). Program the Pi so that when the switch is pressed, a recording plays the type of waste collection day. If there is no collection day, just say “No waste is being collected today” when the button is pressed. With this setup, you could get away even cheaper with less complex code, but the only downside is that you don’t have a reminder. Well, technically again, you could implement a job that plays the recording between 8 am and 1 pm, every 15 to 30 minutes or so in the day of the garbage disposal and to disable it for the day, have the switch pressed 3 times in 5 seconds (or implement a long press).
There are so many possibilities to implement such reminders. Light is a little more complex, but not as annoying, but you may not observe it. Sound is simpler, but if you miss it, you can’t just play a recording ad nauseam, or you will see your project flying out the window.