this behavior is by design. when a driver fails during initialization, it is *supposed* to fail hard - that way you can figure out what is happening and fix it.
in this particular case, the solution is to either set "loop_on_init=True", or fix your system configuration so that networking is established before weewx starts up.
details:
there are some drivers and weewx installations that never use networking. in those cases, they do not need the system to have networking before weewx starts.
there are some installations of the ecowitt driver that are bound to a specific ip address, others use the discovery option to automatically find an ecowitt station on the network. there are some installations that have multiple weewx instances, each of which talks to a different ecowitt station. this requires binding to an address instead of discovery. in the binding case, it is useful to have the driver fail hard when it cannot contact the ecowitt station - that indicates that the ip address of the station has changed, or the station is not online, or ...