A site doesn't necessarily get penalized for using multiple <h1> tags, but it can confuse the spiders. Which one do they focus on? The first one or the last one? The answer is that we don't know. Using one <h1> tag keeps them focused where we want them to focus.
Search results are not necessarily restricted to local sites. Your search was not for a local injury lawyer. A search for "injury lawyer" is a worldwide search. Any strong web site can show up in another geographic area unless you limit the search by using a local geographic phrases. Google has been trying to automatically localize search results, but they have only been partially successful.
The Philadelphia ambulance chaser's site has well over 6,000 backlinks pointed to it. The real number is probably in the tens of thousands. That is probably why they are ranking so well. They are working with an SEO company that is throwing tons of links at the site. No attorney picks up that many links naturally.
"Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote." -- Benjamin Franklin