Just to be sure, you want to replicate x along the first (seqLen) dimension when concatenating it, right?
If so, this should do the trick for you and will be much more efficient:
# Replace the for loop with this line. It will expand x to be of size seqLen x batch x feature1
# and concatenate it with y in one go. 
z = torch.cat([y, x.unsqueeze(0).expand(seqLen, *x.size())], 2)

About the error message: it seems that the error is related to something else - GRU returns two outputs - the output and hidden state (see the docs 19), so if you want to retrieve only the output you have to do this:
z = self.decoderGRU(z, init_decoder_GRU)[0]