I believe what's happening is that the view object you are requesting statistics for wasn't created with the (optional) parameter 'usage=True'. I can see you use the parameter on the 3rd line to populate the pagination_item list:
all_views, pagination_item = server.views.get(req_options=None, usage=True)
But that's not the list you are using on the 2nd for loop (you are using workbook.views instead):
for view in workbook.views:
What happens if you iterate over the 'pagination_item' list and try to get total_views for each ViewItem object? My guess is that'd work. If that's the case I think you might need to use it instead. The ViewItem object has a workbook_id attribute that you can then use to then get the workbook name.
It might be worth logging this as a feature request on GitHub - tableau/server-client-python: A Python library for the Tableau Server REST API. If there's another way to go around it, the team there might also be able to point that out.
Hope this helps!