Nagios is not going to "assume" that a service check notification should go to the hosts definition of contacts. Why should it? The people responsible for the hardware(hosts) may not know anything at all about a "httpd" service and how to fix it.
So, if I have 10,000 hosts and each has a httpd service check, I want the service notifications to go to the software people and the host notifications to go to the hardware techs.
Just define a service check template for the common checks. That is what the templates are for. i.e. to save you typing.