The easiest way to support this (which is a good approach to use for work assigned to folks not in Asana) is:
Create an email alias for each freelance for this purpose, which most every mail tool allows. Here’s how in gmail, but the same applies for other mail tools:
Then create an Asana login with that email alias. You could do this with gmail.com or similar to avoid seat charges in Asana.
Hope that helps,
Larry