"Per person" versus "for each person"

I agree with your sense of what sounds better, but it isn't grammatical as much as it is about the connotations of "per".

Per and friend don't go well together. Per is usually followed by a neutral noun (per ticket, per showing, per person, per flight, per dozen), and the neutrality does not admit any sort of feeling. It is also associated with price and money, and the pecuniary sense jars with the notion of friendship.

It's almost comical, like a sign for a Justice of the Peace in Las Vegas that might read:

Weddings: $50 per Beloved


The original phrase is perfectly fine and grammatically correct.

"per" simply means "for each". It comes from latin but it's an English word and has a normal entry in the dictionary (it's not in a special latin words section, for example).

I think that either of those alternatives is fine, but if you are confused/uneasy about "per" then perhaps other people might be to, and you could therefore go with "for every".