Can Edge and Chrome be confused because of the Blink engine?
Yes, if the parser checks the wrong token first. Both include Chrome/version in the string, inherited from Chromium, but only Edge also includes Edg/version (with a single g, to avoid colliding with old rules for the EdgeHTML-based Edge). A correct parser looks for Edg/ before treating the string as plain Chrome.
Why does the Chrome version have four numbers, like 120.0.0.0?
The format is major.minor.build.patch. Since Chrome adopted that scheme, the minor and build fields stay pinned at zero in most stable releases, and only the major number and the patch change between versions, so a string ending in .0.0 is the norm, not a parsing mistake.
Can one browser send another browser's User-Agent on purpose?
Yes. Brave, for instance, deliberately sends the exact same User-Agent as Chrome with no brand of its own, to keep sites from treating it differently or using the browser name as an extra fingerprinting signal; the only real way to identify it is through the Sec-CH-UA client hint or the navigator.brave API, not the string.