Thanks for getting in touch! Since the email step isn’t run on a machine, the Octopus.Machine.Name system variable isn’t populated when the email step is executed. To include the machine names, probably the best option (assuming your email step is the first in the process) would be to insert a basic script step before the email which would be used to create an output variable storing the machine names.
Something like Set-OctopusVariable -name "MachineVariable" -value "#{Octopus.Machine.Name}". Then in your email step call the output variable via #{Octopus.Action[ScriptStepName].Output.MachineVariable}. (Replacing ScriptStepName here to match your step name that’s creating the output variable.)
I hope this helps! Let me know how you go or if you have any questions.