PHP Exception for errors on Craft Contact Form with additional fields
I think this:

{% for error in errors %}
    &lt;li&gt;{{ error }}&lt;/li&gt;
{% endfor %}

  
  ... is where the error originates.
  
  I memory serves me right, errors is an array like this:

[
    ['fieldHandle' =&gt; ['Something went terribly wrong!', 'Really, two errors in ONE FIELD?']],
    ['orderFieldHandle' =&gt; 'I AM REQUIRED, y\'all!'],
];

  
  In which case {{ error }} would dictate Twig (and therefore PHP) to
  echo an array (['fieldHandle' =&gt; ['Something went terribly wrong!',
  'Really, two errors in ONE FIELD?']]), resulting in the error you
  mentioned.
  
  You can fix this, by using the following code:

{% for fieldHandle, fieldErrors in errors %}
    &lt;li&gt;{{ fieldHandle }}: {{ fieldErrors |join(', ') }}&lt;/li&gt;
{% endfor %}



My original answer was not what caused the error (so, apparently, errors was not what I thought it was).

This type of error is caused by an array being echoed by PHP, and not a string. In this case, the cause of the problem is {{ message.message ?? '' }}, which turned into an array because it contains multiple field values.