I do a lot of volunteering, about 10 hours a week, always with my boys in tow. In part because I like to help keep our community organizations running but also simply for interesting things to do. I have found lots of volunteer jobs that I can do with my kids (now 2.5 and 4.5 and we've been volunteering since my first was born) and most of the time opportunities arise through child/family activities and services that we go to already. For example, we do lots of work to run our Toy Library and local playgroups, and also for my DS1's preschool. We visit our SPCA often as volunteer cat cuddlers (this started almost by accident when we went to donate leftover food after our dog died). We will help out at a nearby CSA farm this summer (I'll weed and they'll probably run around in the field but that's ok!). I canvased for a health-related charity, a door-to-door type fundraiser that I could take my kids along for. Whenever there is a local festival or fair, I take a shift doing something to help run it and my kids come along - many fairs and charity events have family activity tents that need volunteers. We have also gone to serve snacks with my aunt on the picket line when her teachers' union was on strike. That seems like a lot when I write it all down but really it just feels like our usual activities.
I talk a little bit about volunteering and giving back with my kids but not a lot, it's just always been something we do and I think it's cool that they are growing up with that. It sounds like your DS is giving you some great opportunities for conversation about these issues. As for what exactly to do, I would start by looking at the places you already go. Are there aspects of your library or a local museum that are run by volunteers, for example? Is spring revealing lots of litter along your road that you could clean up? Would a neighbour benefit from a few frozen meals delivered? There are so many ways to work community service into your daily life - and I think that kids really do see the tangible results, though it may be subtle at first. I would advise against the nursing home or hospital idea unless these are places that you are already familiar with, or would recommend asking them for names of established organizations there that can guide you to where your interests best meet their need. Just showing up somewhere or starting a project from scratch can be awkward and deflating. Lots of volunteer efforts don't provide immediate satisfaction for the donor (though you may still be doing lots for the recipients without even knowing it!), and can be frustrating at first. In my experience, a long-term commitment where you take the time to find your place within the organization will provide the most tangible result, but it can take time to really "feel it." If you and your DS are looking for a single afternoon activity, I'd recommend finding a well-defined one-time job (such as at a special event) with an established organization. One example would be manning a water table at a charity run - there are lots of those coming up this time of year! - your son will have direct contact with the people he is helping, and you can talk about what it takes to raise money for cancer research (or whatever it is) while you are there. Habitat for Humanity also sounds wonderful and I've been meaning to look into it myself. Even if a 5-year old can't help out with the actual building (I'm guessing that they probably have safety rules regarding age), you might be able make supply runs or serve lunch, etc. Or what about contacting your nearest March of Dimes office? They run dozens of programs and you might find your fit through them.
I also totally agree with pp that simply sharing a smile or a chat with a stranger who looks like they could use it is a wonderful way to start the habit of giving - and little acts like that often have immediate results that your DS will see.
Good luck finding the right fit and have fun!