Why does USB signaling to microcontrollers need resistors
They are "termination" resistors. for impedance matching purpose.

Per USB 2.0 standard, when using a full speed (12Mbps) buffer in a USB 2.0 compliant system, it is necessary to place a series resistor on the D+ and D− pins external to the transceiver. This placement is a result of the need to properly match the impedance of the specified transmission line having a differential characteristic impedance (\$Z_{O}\$) of 90Ω and a single ended impedance of 45Ω. To match this load, it requires that the full speed transceiver output impedance must be in the range 28Ω to 44Ω. So if the transceiver has a output impedance less than this (many output drivers has a low output impedance), you may need a external termination resistor.