Cusotm MetaBox content not getting saved

You’re update function asks for a request parameter named meta_box_nonce (which is by the way a bad name) but your meta box template does not provide such a field.

It should work if you add the following line right at the end of your function author_book_meta_box():

wp_nonce_field( 'author_book_meta_box_nonce', 'meta_box_nonce' );

Please consider to prefix the request parameter name meta_box_nonce. E.g. your_plugin_meta_box_nonce to avoid collisions with other plugins.