I have a theory for why/how this happens, but as I say it just a theory.
When you load the page you get displayed the latest posts, so for this example we will call the latest post 'post 1' and the second 'post 2' ect.
So we have: Post 1 - 10 on screen. Now in the time between you scrolling down and pressing the show more option 2 more posts are made. These are now post 1 and 2. And post 9 and 10 have become 11 and 12. But as you have selected to show more posts the page has not been refreshed so it will still show the original 1 - 10, what we now know as 3 - 12. Now you have pressed the button the next part of the page loads showing the latest posts 11 through to 20. So now on screen we are seeing post 3 -12 and 11 - 20
What needs to happen is the page not load posts 11 - 20 but infact to load posts relative to what's already displayed, so in this case 13 - 22
Just an idea.