Though why Python can't give microsecond precision delay is also a good question. Arduino supports delayMicroseconds() on all boards. The slower boards usually have a minimum delay of several microseconds, so it's far from perfect, but certainly a lot better than 1 millisecond resolution.
The delay could be more accurate but we run "background" stuff between Python byte codes. We may do mass storage writes, for example, that will mess up any precision timing. So, it's best to not rely on the timing of Python code execution.
Thank you!