Well yeah sure, but they count iOS, iPadOS, and watchOS as separate operating systems, so it’s really only like 98 operating systems, which is kinda like… pff… anyone can do that…
They are separate operating systems, try to write any large application that actually runs across all of them without any modification, single source code.
Try to write any large application that actually runs across all Linux variants and form factors. IMO that's a harder job than targeting the three iOS variants.
But you have to draw the line somewhere and the way curl didn't isn't unreasonable IMO.
Where do you (or curl) draw the line of what is a different OS though? Because I can imagine that on a low enough level they may be the same, work the same, etc. Same kernel, CPU architectures, etc. That is, how much code in (in this case) curl is specific to iOS and WatchOS?
I am not spending time researching this, however since Network.framework was introduced in 2018, that sockets are considered the old way, and modern applicaitons should use NWConnection instead.
See WWDC 2018 session,
"Introducing Network.framework, A modern alternative to sockets"
Curl is a library and CLI though, not a "large application". Makes a difference for things like this. I've written stuff like this that I only tested on Linux and macOS, and then it "just worked" on Android and iOS without modifications.
What is or isn't a separate "operating system" is always a bit fuzzy and depends on which layer you're looking at. Android is "just Linux" on some levels, but also clearly isn't on others. But also: Debian really is quite different from, say, Chimera Linux, or Alpine. But it's also very similar.
It also lists illumos and OmniOS for example, and it could be argued that it's really just one system. Same with Linux and ucLinux, and probably a few others.