Activate / Deactivate plugin

You can register multiple activation hooks, that’s not a problem. Or you can use a wrapper function that calls the other functions.

What is wrong, is this:

add_action( 'template_include', 'terms_redirect' );

template_include is a filter, not an action, so you should use add_filter().

$author_id = 1; is dangerous, there might be no author with that id. Who owns that page then? Use get_current_user_id() instead.

get_page_by_title( $title ) is not good enough for a check. What happens if the slug is already in use?