Which seemed to work well at the beginning but each week I have to change the "posts_per_page" number otherwise posts don't get shown. You'll see I have 38 in the posts_per_page amount but there's only 10 (which is what I want) visible in the site.
I'm presuming it has something to do with the date check code but have no idea what.
Your "date check code" is rather cumbersome, but I don't think it's necessarily the cause of your problem.
A potentially inaccuracy with your "date check code" is that $post_date is in UTC time, whereas $currentdate is locale time (less 1 day!). Depending on where you are in the world this could miss (or erroneously include) a few edge cases. The "cumbersome" part is that you are converting the dates to strings (eg. "20140612") and then comparing numerically (PHP is very forgiving), although this should be OK.