Short answer:
email.fileattachments = null;
Long answer:
If you use the value METADATA_WITH_BODY you'll have duplicate attachment as explained in the doc.
.i.e: Messaging.SingleEmailMessage email = Messaging.renderStoredEmailTemplate(templateId, recipientId, opp.Id, Messaging.AttachmentRetrievalOption.METADATA_WITH_BODY);
System.debug(email);
=> You'll see that both entityattachments and fileattachments are filled, which is why you have duplicate
So you just need to remove one of them (and doc says remove fileattachment)