Wordbooker is using an alternative method, though it is a different one than what I am/was thinking of.
The thing is that you can't account for all possible situations. Wordbooker doesn't either. From a quick glance at their code, I gather they look -amongst other things- at everything with the attachment post type linked to the specific post.
In your case, I can then only presume that the NextGen Gallery is adding the images to the database table as attachments.
However there are lots of different ways the data about images could be stored and lots of different plugins doing it their own way (no matter how wrong sometimes). Similarly, you are adding the images to the page via a function in the template, you are not using a shortcode or a content filter to add the images. Again, so many ways to do it, so many ways in which images could be added to a page...
The only sure-fire way to get all the images - independently of how they are added to the page - is to actually request the page and scrape it. In effect, this would mean loading the page twice to only present it to the user once.... Not very efficient or user-friendly - which is why I referred to the server overhead and page load time.
So basically the question is: how far do you go to get the images for a page ? Just looking at the content (and featured image if set) is a very lean way, scraping the complete page is the most bloated way.
Every plugin strikes their own balance in that regards and WP SEO and Wordbooker have made different choices for now.
Does this make it a bit clearer ?