The packer tries to pack in the smallest size that fits. When you use packing requirements like POT, it doesn't try sizes in between. Eg, if the images don't fit in 512x512 then it tries 1024x512, then 1024x1024. If the images are only slightly bigger that 1024x512, then there will be lots of wasted space at the 1024x1024 size. The packer does not try to pack as small as possible on the 1024x1024 size because that takes extra packing time/effort and there is no benefit
the whole texture needs to be loaded at runtime anyway.
It is much more efficient to render at runtime when all the images are on one atlas page image. That is why the packer goes up to your maximum atlas page image size (which you set to 1024x1024) before outputting multiple atlas page images. If you want three 512x512 pages, then set 512x512 as the max size. However, this can cause texture changes at runtime, which means rendering cannot be batched efficiently and will require more draw calls to render your skeletons.