Change Custom Post Type singular_name through function/filter

When you look at the source of register_post_type, you’ll see that it uses get_post_type_labels(). And this function has a filter:

apply_filters( "post_type_labels_{$post_type}", $labels );

Better use that instead of messing with the actual arguments.