There is per se no reason that an axes should be square, just because the figure it lives in is square.
The subplot parameters set by the default rc file are
figure.subplot.left : 0.125 ## the left side of the subplots of the figure
figure.subplot.right : 0.9 ## the right side of the subplots of the figure
figure.subplot.bottom : 0.11 ## the bottom of the subplots of the figure
figure.subplot.top : 0.88 ## the top of the subplots of the figure
such that
(right-left)/(top-bottom) = (0.9-0.125)/(0.88-0.11) = 1.0064935
Of course you can set those parameters to your liking and hence optain a square subplot, either in your rc file, or via code, e.g.
rc = {"figure.subplot.left" : 0.1,
"figure.subplot.right" : 0.9,
"figure.subplot.bottom" : 0.1,
"figure.subplot.top" : 0.9 }
plt.rcParams.update(rc)
or
fig.subplots_adjust(left=0.1, bottom=0.1, right=0.9, top=0.9)