Is there a reason that gmap only takes one generator and gmerge only takes two generators?

It's kind of arbitrary choice between simplicity and convenience.  But if gmap can take more than one generators, (generator-map->list proc gen gen2 ...) becomes just (generator->list (gmap proc gen gen2 ..)) and probably unnecessary.  It also becomes parallel with gcombine.