How to display all terms from all taxonomies in post, but separately for each taxonomy?

You can get the taxonomies that are registered for a post type with get_object_taxonomies(). If you pass the post object directly, you don’t even need to explicitly name the post type either.

You can then loop through the result of that function to achieve the result you want:

$taxonomies = get_object_taxonomies( $post );

foreach ( $taxonomies as $taxonomy ) {
    the_terms( $post->ID, $taxonomy, '<span>', ", ", '</span>' );