There is a easy and generic solution.
You are actually calling message-send which calls y-or-n-p to ask you confirm.
So you want to automatically answer "Yes" when being asked the question "Already sent message via mail; resend? (y or n)".
Here is code,
(defvar my-default-yes-no-answer nil
"Usage: (setq my-default-answer '(t . \"question1 pattern\"))"...
Quoted from article,
Move focus over the attachment and press Enter or M-x gnus-article-press-button.
The variable mailcap-mime-data defines the program to open the attachment.
You can tweak the variable on Windows or macOS.
On Linux, run M-...