Re: body_checks(5)
> The input string for body_checks is a single message body line.
> so "\A" == "^" and "\z" == "$".
Both /m and /A are compliant with postfix's pcre_table(5). Therefore,
\A and \z *must not* fall back to ^ and $ when using /Am.
Postfix's adaptation of pcre leads to false positives,
as stated in the OP.
> Postfix does not read the entire message into memory.
> That does not scale well.
Yes, this confirms the OP.
I suggest to either allow postfix to read the entire message body,
except the attachments, or deprecate postfix's /Am altogether.