PostgreSQL subqueries allow one SQL query to run inside another, making it possible to solve filtering, aggregation, ...
edit: I didn't read the whole question. :facepalm: But basically, grouping by the day of week in place of date should get you where you want to go. Start with the query you posted above, then use that ...