First read the "Does iCloud Mail support DMARC?" section on:
https://support.apple.com/en-us/HT204137
This is Apple's DMARC policy:
v=DMARC1; p=quarantine; rua=mailto:d@rua.agari.com; ruf=mailto:d@ruf.agari.com;
p=quarantine means to put the message in the Junkmail folder if there are ANY problems. It looks like the recipient server is diligently following the DMARC policy from mac.com. In short, your messages are SUPPOSED TO GO INTO THE JUNKMAIL FOLDER.
Problems with Mac.com's outgoing records
SPF
Mac.com does not have an IPv6 block listed in it's SPF record. Unless iCloud.com is restricting SMTP to IPv4 only, recipients like Gmail is going to accept IPv6 connections, then fail the SPF authentication. Also Apple is designating small blocks which is not recommended for SPF.
DKIM
Apple does not publish DKIM records via DNS, so we can only check by looking at the headers of the messages that did make it in to the recipients Junkmail box.
Diagnosis
View the source of one of the mac.com messages in the recipient's junkmail box and look for the SPF= and DKIM= entry in the header section. If they're anything other than pass, then the recipient server is following the DKIM policy correctly.
SPF, DKIM, and DMARC authentication all have to work together for very strict mail services like Gmail to accept messages. Without them, any spam-like behavior will send a red flag. Any message with a URL, multiple recipients, including an image; will be designated as spam.
Because of different mail providers having drastically different security policies, sending mail fails. At least this way, the recipient receives the message (straight to junk).