openssl keeps giving me "unknown option" errors

Ok, this is kind of weird, but you're not going insane.

Copying and pasting your example fails for me in the same way that it does for you. But typing it manually works fine.

It looks like wherever you copied those lines from has swapped the regular dash symbol with another, similar looking glyph. In fact, if you look very closely you can tell that the dash used with -key looks slightly different than the ones for -new, -nodes and -out (with the font I'm using the correct one is slightly shorter).

Delete all of your dashes and re-type them on the command line.