Custom post pagination trouble

They’re not the same. Your news page is the posts page, and your recipes page is a page post type where you’ve used a custom query to load the posts. I can see that by looking at the classes being added to the body tag. I presume that your custom query has no pagination parameters being passed to it, but you’ll have to show us the code in the template to confirm.

If you were to set has_archive to true when you register your post type and use the post type archive page instead of a custom query, your AJAX pagination will probably work.