pretty_html_table escapes HTML by default. After building the table, just unescape the <br> tags:
html_table = build_table(table, "green_dark")
html_table = html_table.replace("<br>", "<br>")
Now the <br> tags render as real line breaks in your email.