From a quick glance it appears that editing networks removes their server password by default, because the server password is not sent by soju to goguma, which then causes goguma to set the field to the empty value. Then when Save is pressed goguma tells soju to set the server password field to the empty value.
gamja's strategy is to compare old/new values and only set the ones that changed.
I confirmed this behaviour again: after editing a single field in the server view and pressing save, goguma sends out:
BOUNCER CHANGENETWORK 1 name=xxx;host=xxx;port;tls=1;nickname=xxx;username=xxx;realname=xxx;pass=
See how every field is re-sent and the pass field is explictly reset to the empty value. At https://git.sr.ht/~emersion/goguma/tree/master/item/lib/page/edit_bouncer_network.dart#L110 it appears clear that every field is sent.