You did not provide details about your environment. Depending on the environment the plus (+) may be used but as a best practice I recommend limiting names to ASCII alphanumeric characters, _ (underscore), - (hyphen), and . (dot).
It is quick and easy to recover data from a Snapshot. Snapshots should not be considered a disaster recovery method since Snapshots live on the volume. For disaster recovery we need to have data in another site. Most of the time data is recovered from Snapshots using the same application that created the Snapshot. To address your original question yes you can name a Snapshot with the name “test__2020-12-21T23:47:20.594067+00:00”. NFS can mount a Snapshot with a colon in the name it will cause issues in Windows hosts. For the greatest compatibility with other utilities and ease of use I would stick with ASCII alphanumeric characters, _ (underscore), - (hyphen), and . (dot). You will also not have deal with all the delimiters in your Python program.