i solved it by taking out the noindex for the first_page_text (as suggested), this ensured when you are on the last page for example, the link to the 'first page' is indexed.
next, i replaced this:
echo '<a href="'.clean_url(get_pagenum_link($i)).'" title="'.$page_text.'"> '.$page_text.' </a>';
with this:
if ($i == $start_page){echo '<a href="'.clean_url(get_pagenum_link($i)).'" title="'.$page_text.'"> '.$page_text.' </a>';}
else{echo '<a href="'.clean_url(get_pagenum_link($i)).'" title="'.$page_text.'" rel="noindex"> '.$page_text.' </a>';}
Then I found that the next and previous links were still indexing pages past the first page (The << and >> links) so I just removed these completely by deleting these lines:
next_posts_link($pagenavi_options['next_text'], $max_page);
previous_posts_link($pagenavi_options['prev_text']);