Could you explain your concerns about the size?
The generator  creates images of shape [3, 256, 256], so the discriminator should get the same shaped input to tell if the current image is a fake or real.
Are you using somehow a 64x64 model?
The size matches the layer, so that’s strange.
In your first error message it says:

RuntimeError: size mismatch, m1: [64 x 32768], m2: [2048 x 1024]

Which fits your assumption about the image size. Since 64 * 4 = 256, we could divide 32768 by 4*4=16 and get 2048.
So back to the question: Your generator should output [3, 256, 256] images and the generator should take these, right?