Потому что копипаста - это зло. Вот это:
query = ("SELECT {} FROM fact_table WHERE year = ANY(%s) AND indicators = ANY(%s) AND station_name = ANY(%s);"
.format(",".join(["\"{}\"".format(c) for c in columns])),(selected_years, selected_indicators, selected_stations))
Должно выглядеть так:
query = "SELECT {} FROM fact_table WHERE year = ANY(%s) AND indicators = ANY(%s) AND station_name = ANY(%s);"
.format(",".join(["\"{}\"".format(c) for c in columns])
А ещё лучше убрать и это извращение с подстановкой колонок форматированием строки, оно не нужно и не безопасно.