For your first issue, I suspect one of your articles does not have a CoverImage set. You need to check the image exists before trying to use it. Something like this in you loop…
<?php foreach($page->children()->visible()->paginate(8) as $article): ?>
// let's assume the filename is stored in a field called coverImage
$image = $article->image($coverImage());
// always check if the image exists!
<img src="<?= $image->url() ?>" alt="">
<?php endif ?>
<?php endforeach ?>
Well, you limit your collection to 9 articles first, then filter. That means that while there are probably more articles, they won’t be fetched if they are not within the first 9. You probably want to filter. first, then limit, if you want to limit at all.