First option: each optimizer will see sum of gradients from three losses. In fact, you can do (loss1 + loss2 + loss3).backward(), which is more efficient.
Second option: each optimizer will see gradients only from the specific loss.