I believe the problem is somewhere else in your code. The only PHP code snippet in your submit button is a basic function that displays title for submit button, so if it's displayed properly, you can safely eliminate it from debug list. If you view POSt headers (you can do that using a plugin like http live headers if your browser doesn't support this feature), does data actually get posted?

Also, it looks you run WP. Is it the latest version (including plugins)? I somehow have a feeling the issue might be related to some antispam plugin, which might be out-of-date and cause problems with new versions of PHP.

What plugin are you using to send your email? WordPress recommends version 7 or greater, but very much works with 5.5 and up. Also, if the plugin you're using does ajax submissions open your console and check the networking. I know there were a couple issues with Ninja Forms until a recent update that would cause behavior that sounds like what's you're describing.

the problem is likely in the form processing code, it's probably relying on register globals and is expecting program variables to be set that aren't. the php version change the OP made is probably, correctly, turning off register globals and the badly written code is no longer detecting that anything was submitted.

multi-purpose programming fool. well written source-code should be self-documenting. well written code should be self-troubleshooting.

mac_gyver, please correct me if I'm wrong, but I believe register globals feature was already removed in PHP 5.4?. So if script works on PHP 5.4 and stops working on 5.5, it can't be related to register globals.