IIR filter relationship between number of poles, order and second order sections
The filter order equals the number of poles, that's a fact. How people call and use parameters in software is a totally different question. Many routines that design standard IIR filters use frequency transformations to design bandpass or bandstop filters from a prototype lowpass filter. Often, the specified filter order is the order of the prototype lowpass filter, but the transformation doubles that order such that the resulting bandpass or bandstop filter has twice the order that was specified in the call of the routine. It works that way in Matlab/Octave. Maybe that's also the reason why you get twice the specified filter order with the SciPy routine and with the Iowa Hills software. Note that in both cases you obtain twice the specified filter order (or number of poles).