Compare the results of these commands:
/summon minecraft:enderman ~ ~ ~ {carriedBlockState:{Name:"minecraft:lectern",Properties:{"has_book":"true"}}}
/summon minecraft:enderman ~ ~ ~ {carriedBlockState:{Name:"minecraft:enchanting_table"}}
Both of these create endermen holding a block which can harbor books. However, the former command, despite having has_book explicitly set to true, does not display a book at all. This is incorrect, as the enchanting table correctly does display the book.
The /data command, or waiting for the enderman to place it, can be used to verify that the block state is correctly set, and that the displaying part of it is wrong.
Thank you for helping us improve Minecraft! We saved your files: