funded_psbt.txt and final_psbt.txt are each expected to hold exactly one PSBT/hex string, consumed via unquoted $(cat ...) in every later step. Using append (>>) instead of overwrite (>) means re-running the send or walletprocesspsbt step without deleting the output file first appends a second line, which $(cat ...) then word-splits into two arguments, causing decodepsbt/analyzepsbt/walletprocesspsbt/sendrawtransaction to reject the call with too many arguments.
Fixes #35862.