The "type" attribute tells the browser how to interact with the input field. A field of the "email" type may trigger the browser's auto-complete feature, for example, so that the e-mail address is automatically filled in, and the "required" attribute may trigger a browser's built-in form validation features so that the user can't post the form unless the required fields are filled. So basically these are directives for the client side, whereas fields like "realname" and "recipient" tell the script (server-side) how and where to send the e-mail after a form submission.
Unfortunately, I think the recipient e-mail address
needs to be in the "recipient" hidden field for the script to work without modification. It could be hard-coded into the Formmail.pl script, so that you no longer need to use the "recipient" hidden field, but that will require some minor changes to the Perl code (and I don't speak Perl). Without that, at the very least I would set a value for the "@recipients" variable in Formmail.pl so that the form can only be used to send e-mail to one (or multiple) recipient(s) of your choosing.
@recipients = ('^yourself\@yourdomain\.com');
As for the version, at the bottom of the documentation you can find a history of releases, and it looks like version 1.93 fixed a security issue: "Removed cross-site scripting and header injection/ http response splitting vulnerabilities from redirect and return_link_url fields." So it's probably a good idea to get the latest version (even though that, too, is almost 9 years old).