In SQL, the semicolon is an (often optional but recommended) statement terminator: if you add one in the middle of a query statement, it ends the statement there and starst a new one.
Remove the semicolon here:
SELECT state, AVG(growth)*100 AS "Top 3" FROM district_data GROUP BY state ORDER BY 2 DESC, 1; <<<
UNION
SELECT state, AVG(growth)*100 AS "Bottom 3" FROM district_data GROUP BY state ORDER BY 2, 1 LIMIT 3;