I’m not sure. I just know that that’s the usual format for option names and boolean values.
Before writing that post, I grepped the source code to see if reuse_key was probably correct*, and I tested that it worked. I didn’t read the documentation.
* Some options have different internal and public-facing names. For example, --preferred-challenges is pref_challs.
This is a feature of the parser that we use in Certbot. Multi-word options are written on the command line with a - (following GNU getopt convention) but in configuration files with a _ (following Python convention).
I will check whether we’ve documented that pattern anywhere—it’s very possible that we’ve totally forgotten to do so.