Author page from blog post

I can’t give you an exact contextual answer because you have not provided your code, however the functions (with example usage) listed below should do what you require.

On each blog post on the index.php page I want to display the authors name and image.

Inside The Loop you can get the name of the author by using the_author_meta(), you can get the image by using get_avatar() and you can get the link to the authors page by using get_author_posts_url()

<a href="https://wordpress.stackexchange.com/questions/177923/<?php echo get_author_posts_url(get_the_author_meta("ID')); ?>">
    <?php
    echo get_avatar(get_the_author_meta('ID'));
    the_author_meta('display_name');
    ?>
</a>

I also need to show the authors bio at the bottom of every single.php post he posts.

Once again this is done inside The Loop. You can also use get_the_author_meta()

echo get_the_author_meta('description');