After checking that you can open port 53 udp yourself with, say, nc (which you tried), strace the binary that tries to open port 53 and fails, and find the system call that fails. You can compare it with an strace on nc to see how it differs.
If this doesn’t clue you in (e.g., you see two attempts to listen to the same port…) Next step would be to find in the source code where it fails (look for the error message printout) and start adding diagnostic printouts before the failing system call and compile and run your edited version.
Doesn’t North Koreans fighting in Ukraine mean that North Korea now is at war with Ukraine? Wouldn’t that legitimize a Ukrainian invasion of North Korea? Could we ship some Ukrainians to North Korea and have them do a lot of damage there; including offer asylums to anyone who wants to get out?