By default, WordPress page templates (the ones that show up in the Page Attributes → Template dropdown) are only available to the page post type. That’s why you’re not seeing them for your custom post type (CPT) or for posts.
Use the new file header method (Template Post Type)
Since WordPress 4.7, you can make templates available to any post type by adding a header to the top of your template file, like this:
<?php /** * Template Name: My Custom Template * Template Post Type: post, your_cpt, page */
-
Template Name → the label that appears in the editor dropdown.
-
Template Post Type → a comma-separated list of post types where this template should be selectable.
(e.g. post, product, portfolio, page, etc.)
So if you want your template available to posts and your CPT, just add them there.