How are you obtaining the original image size? In SimpleITK the index order is [x,y,z], unlike for instance numpy for which the same data has an index order of [z,y,x].
You are mixing two things here, the image data structure and the way the display program interprets the data. Please take a look at the Image Display notebook and see if the problem is resolved (possibly there never was a problem with the image but with the way it was displayed).
Issue is resolved. As you said there is no problem with reading image, but while displaying image, element spacings were not considered. With proper element spacing I am able to reproduce the original image.