Long-term archiving + encrypting shell script
It's a fine script. Even shellcheck doesn't find anything in it. Well done!

I only have minor comments.

You can safely omit the sha512sum -c.
It would only fail if the previous command failed.
For the rest, I cannot say it's complete paranoia.

The password file used with openssl commands is buried in the script and repeated twice.
It would be better to put that value in a variable and define at the top of the file.

A helper function would be more convenient to print the headers for the steps, instead of blocks of echos.


  before I take another step and restructure it with printf and better error reporting, structure, exit codes, etc. I would like you to have a look first


I don't see what benefits printf will bring,
and the error reporting, structure, exit codes look just fine.

I would rename bold_red and bold_yellow to be more about the purpose than presentation.
Like &lt;em&gt; in HTML is for emphasis,
and &lt;strong&gt; for strong emphasis,
And the stylesheet (in this case the actual value of the variables) define the presentation, nicely segregated from the code.