Essas não são linhas vazias, é a altura do widget treeview.
Eu nunca trabalhei com o tkinter antes, mas olhando para os documentos, encontrei a height
opção :
height Specifies the number of rows which should be visible. Note: the requested width is determined from the sum of the column widths.
Assim, você mesmo pode especificar a altura do treeview, assim:
self.tree = ttk.Treeview(columns=lb_header, show="headings", height=2)
Ou para corresponder ao número de itens:
self.tree = ttk.Treeview(columns=lb_header, show="headings", height=len(lb_list))
Embora eu não recomende isso, ele vai crescer fora da tela quando muitos itens forem adicionados.