If port 80 is listening for this on the Pi and resolving the local hostname
I'm not sure if you're confused here or not about how name resolution works -- the bit about "port 80 listening...and resolving the local hostname" implies you are confused.
Logically enough, hostname resolution does not happen on the target system (the pi), it happens on the local system (your Mac). "Logically enough", because there is no "hostname" used in TCP/IP, there is only the IP address, so for any communication to reach the target system, the hostname must first be correctly resolved, either on the local machine via its own mechanisms, or via DNS lookup, which, once again, logically cannot, except by pure coincidence (e.g., you are running a DNS server on the same system, which the local machine uses by IP) involve the target system.
In this case, since you can use the hostname correctly, it is either configured on the Mac (e.g., via LAN zeroconf, which is probably enabled on both systems; Raspbian uses avahi for this) or else relies on DNS resolution via the router.
That the hostname does not work on the Mac browser then implies one of two causes:
The browser or local OS is causing the problem.
The web server is rejecting the request. A hostname is used in HTTP headers, and apache or software it dispatches to may be configured to only accept requests with a specific name.
To definitively distinguish between the two possibilities, you could watch the transaction from one side or the other using a tool such as wireshark.
In any case, questions about OSX and OSX software are off-topic here and belong on Ask Different. Questions about apache configuration are also off-topic but might be appropriate on Unix & Linux, Server Fault, or perhaps Stack Overflow. As a clue, I would find out where the server logs to and check those logs to see if it is rejecting requests based on hostname. If this is the case, again, apache configuration is a topic better researched elsewhere, including the official documentation.
If in fact your problem is a browser on the pi (i.e., the same system the server is running on), edit
/etc/hosts and to the end of the
127.0.0.1 localhost.localdomain line (probably the first one), add