Oi Cassius 
Analisei seu projeto, e o que está ocorrendo com ele é o seguinte:
O Problema é que você está injetando seu LivroDataModel que é do escopo de Request dentro do seu bean LivroBean que é do escopo de View. 
Para resolver remova a declaração de escopo do seu LivroDataModel quando você não define um escopo, o CDI assume que o escopo padrão será Dependent ou seja ele usará o mesmo escopo da classe que ele está sendo injetado. 
Nesse caso como você está injetando seu LazyDataModel que tem o escopo Dependent dentro do seu bean LivroBean que  tem o escopo ViewScoped seu LazyDataModel terá o escopo ViewScoped.
Para você entender o que ocorreu segue uma breve explicação:  
Ao clicar no botão de editar ou remover é gerado uma nova request e criado um novo LivroDataModel, e com isso recriado toda a DataTable.
Por tanto o botão que você clicou não existe mais pois teve de ser recriado. Dessa forma não executando seu método.
Se útil marque como solução.