Slug for custom post type

Somehow it seems WordPress sees the custom post type as posts, not
pages?

No, but your permalink structure (for the default post post type) that you set via the Permalink Settings admin page contains (or starts with) blog/ and by default, it will also be prepended to permalinks for custom post types, unless the post type sets the with_front argument to false.

Therefore,

How can I get rid of “blog” in their URLs?

Just set the with_front to false:

'rewrite' => array('slug' => 'ncfpw', 'with_front' => false),

And then flush the rewrite rules by simply visiting the Permalink Settings page.