You're clearing the list each time you add a new book, and your save method also creates a new list, which wipes out the previous work; it causes all the input to be lost.

Here's a working version of your controller:

    public class addMultipleBooksExtension {
        public list<Book__c> listBook{get;set;}
    
        public addMultipleBooksExtension(ApexPages.StandardController controller) {
        list<Book__c> listBook= new list<Book__c>();
        }
    
      public void addBook(){
          listBook.add(new Book__c());
      }
    
      public void saveBookRecords(){
        insert listBook;
      }
    }