My answer will be from the ArcGIS side, but the problem can be solved in QGIS as well with perhaps slightly different tools or methods.
Generally speaking, what you are wanting to do is an Overlay analysis. There are several tools that fall into this category, some better suited to your specific task than others. The example you show of desired output is a single field listing all areas an address falls into. It might be better to keep them as separate attributes (ie address, zone if any, area if any, etc.) but it's easy enough to combine them if you want. At the core you just want to get the polygon's name as an attribute of the point.
A note about your input data: As I mentioned in my comments, the format of your data as well as license level can impact what tools are available and how to use them. Some tools require an Advanced license to run at all, or run on more than two layers at a time. This means if you have combined zone and area into a single file, you can run it once, else you'd have to run it once for zone and then again with that output and area. There is also the question of overlapping polygons in the same layer. If zones overlap and a point falls in two of them, that requires some special consideration. And if zones and areas are in the same feature class but just different names you end up with the same problem.
The first tool that comes to mind is Identity, which requires an Advanced license. With it you can assign the name attribute of a polygon that a point falls within to that point. This creates a new feature class.
The next is Spatial Join, as cbunn mentioned. This method is pretty flexible, because there are ways to deal with a point falling in more than one polygon in a single layer. This functions like a join but using a spatial relationship rather than a common attribute. The results must be exported to a new feature class to save them.
Then there's Intersect, which is probably not a good fit because it will only give you the points that do fall in a polygon, and the rest will be dropped. It could still be used, but it takes quite a bit more iteration and joining/merging of results. It also creates a new feature class.
The last tool I'll mention is Union, which would be ideal for what you want to do except it doesn't work with points. However it can be used to solve an overlapping polygon problem - if you union all your polygons together, they will be cut up into polygons that represent unique combinations. So if zone one and two were next to each other and area one overlapped both, you would get four new polygons - just zone 1, zone one and area one, zone 2 and area one, and just zone 2.
If you need more detail you can edit your question to include some screenshots of your data or provide examples, and I can revise this answer with more specific steps.