Hey @RichardTrex
The reason it is happening is because you have two apply_to_each loops. If you can make it one, then no duplicate attachments will be sent.
Instead of that Value Apply to each, try to only add that Body Apply_to_each if possible.
Or there is one more thing. Outside both apply to each take a compose action, inside it, write a similar expression to the following:
union(variables('attachmentarray'),variables('attachmentarray'))
By this only unique elements/attachments will be left. And then in send email action in the attachment pass the above compose.
I hope this helps 🙂