It's kind of broken on the mac. By default, the mac can't resolve its own shortname. Your host's name is really probably "elife.local".
If you start erl with -name FQDN, then the pings will work.
ie: you would start it with
$ erl -name foo@elife.local
this probably could be fixed by making the mac capable of resolving it's own short name
Here's example output from my mac. When I do -sname I get the same result as you.
The first node:
$ erl -name foo@mookie.local
Erlang R13B03 (erts-5.7.4) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]
Eshell V5.7.4 (abort with ^G)
(foo@mookie.local)1>
The other node:
$ erl -name bar@mookie.local
Erlang R13B03 (erts-5.7.4) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]
Eshell V5.7.4 (abort with ^G)
(bar@mookie.local)1> net_adm:ping('foo@mookie.local').
pong