The name of your post type has nothing to do with your problem nor do any of the other suggestions mentioned above. The problem is the code in your template.
Looking at your code from the pastebin link here is what is happening.
FYI. When WordPress loads a template it has already made the query and has the intended post or posts ready to display. In your template you are creating a new query which is loading all posts with the 'project' post type. #Line 12
Next on line 15 you are looping through all the posts you just queried above on line 12.
On line 17 you are checking is_single() THIS WILL ALWAYS EVALUATE AS TRUE in a single-post_type.php template because it uses the global $wp_query object and not the new WP_Query object you created on line 12.
So to fix your problem remove the new WP_Query object line 12 through 14 then change line 15 to
<?php while ( have_posts() ) : the_post(); ?>
You also don't need the is_search stuff at the bottom because this it will never return true using the single-post_type.php template. Here is fixed version of your template.