You should not add the nn.Criterion together, but instead the losses.
So you should do
criterion1  = nn.MSELoss(size_average=False).cuda()
criterion2  = nn.L1Loss(size_average=False).cuda()

output = model(input)

loss = criterion1(output, target) + criterion2(output, target)

That being said, you can create a function that simplifies your life for that
class MyCriterion(nn.Module):
    def __init__(self, size_average=False):
        super(MyCriterion, self).__init__()
        self.criterion1  = nn.MSELoss(size_average=size_average)
        self.criterion2  = nn.L1Loss(size_average=size_average)
    def forward(self, input, target):
        return self.criterion1(input, target) + self.criterion2(input, target)

criterion = MyCriterion().cuda()