Earlier quoted context omitted.
Browser user agents have a history of being lies from the earliest days of usage. Official browsers lied about what they were- and still do.
Lies in user agent strings where for bypassing bugs, poor workarounds and assumptions that became wrong, they are nothing like what we are talking about.
This is why there are so many libraries to make requests that look like they came from browser, to work around buggy servers or server operators with wrong assumptions.