En primer lugar, te perdiste group by , por lo que aunque mysql no se queje, usted hours y hours2 los valores no tienen sentido. En segundo lugar, eres el resultado de UNION se puede poner en la subconsulta derivada, por lo que tendrá el total deseado:
SELECT SUM(hr) FROM
(
Select sum(hours) as hr FROM table WHERE name='xxx' and Description='Worked'
UNION ALL
Select sum(hours2) as hr FROM table WHERE name='xxx' and Description2='Worked'
)a