Why isn’t a list of posts from my custom post type displaying in this widget?

I don’t know if it is a typo, but your custom post type name is incorrect, it cannot have spaces, and also you should just use underscores to separate names in custom post type names

register_post_type('blog posts', $args );

Is it just blog or blog_posts

In your query in your widget, you are querying the custom post type blog, which does not match your registered custom post type.

Last note, you should not use extract() at all. Look at the Widget API on how to coreectly construct a widget