1. Before reading any of this, know that your board will probably work just fine, save for an actual wiring error. Routing is noobish but sufficient. I have seen many boards far worse.
2. Your design suffers from poor grounding. Start picking critical ground nodes and follow the current return path to another ground node. You might realize the problem here, that is you have lots of useless copper dangling around doing nothing useful except picking up noise. Solution is to put on stitching vias (probably 10-20 would be enough) to lower the inductances of your ground return paths. Try a 3x3 grid of vias under the MCU. Attached image with where I would put stitching vias.
3. USB data lines - they are differential, route them tightly together. That means moving the series resistors very close.
4. Yes you do want series current limiting resistors for your MCU pin driving the buzzer.
5. With xtals and clock lines generally the closer the better, while keeping them isolated from other signals, your layout here isn't a problem.
6. There is a lot of wasted space on the board , which is not a problem at all, but if you wanted to condense it down further you could probably cut the area in half.