[SOLVED] In our case it was because reCAPTCHA was being included twice on the page. You can see if you have the same issue by doing a “view source” and searching for recaptcha/api.js.
It looks like this is likely being caused by a change that Google pushed to reCAPTCHA today. Now reCAPTCHA fails when it is included twice (it seems that as recently as yesterday, including reCAPTCHA twice would still work). When reCAPTCHA fails, it keeps the form hidden and writes an error that you should be able to see in Chrome’s Developer Console.
To fix, you need to get rid of one of the reCAPTCHA includes. In our case, the second include was from the Custom Contact Forms plugin.
Fix 1
If you are using Custom Contact Forms, then within the Forms -> Settings submenu in the wp-admin there is a section titled “Restrict Asset Loading To”. Use this section to list all the pages you are using Custom Contact Forms on. This will cause Custom Contact Forms to not load the extra copy of the ReCAPTCHA Javascript file on pages that do not need it.
Fix 2
If you are not using Custom Contact Forms, then you can stop Ultimate Member from enqueuing the ReCAPTCHA Javascript by commenting out that line of code that adds it. The line of code to comment out is in the file wp-content/plugins/um-recaptcha/core/um-recaptcha-enqueue.php line 22. Commenting this out will cause Ultimate Member to no longer enqueue the ReCAPTCHA Javascript library.