I’m at my computer now and can provide a more illustrative explanation.
Please take a look at the screenshot. In it, I have marked the bounding boxes of some islands.
From this, you can see that Rizom uses a packing algorithm that takes the actual island contour into account.
Blender, on the other hand, uses an algorithm that considers only the bounding box. This is a simpler method, but also the fastest one.
It is also important to understand that when you perform an Unwrap operation in Blender, it immediately runs a quick packing step after the unwrap.
This is actually very useful, because you get a clear understanding of what happened, instead of ending up with a mess of overlapping islands that visually obscure each other.
However, this should not be considered a final Pack operation. It is only a convenience step.
After that, you are expected to run a proper Pack operator yourself and configure it according to your needs.
Once you do that, you will get a result similar to Rizom’s. Maybe not identical, but as close as possible.
Regarding Zen Pack, it is implemented in a way that allows you to control only the basic packing parameters and is not intended to fully replace a dedicated packer.
If you need more advanced results, you should go to the native settings panel of the packer you are using (for example, UV Packmaster) and adjust its parameters there according to your requirements.
https://zenmastersteam.github.io/Zen-UV/latest/pack/
https://cdn.discordapp.com/attachments/1460644017208299561/1460912729828098092/image.png?ex=698a42c1&is=6988f141&hm=a825a1aaf2d418ba5f7b12d468098fe68665bcd82f24f596c7cfca8f3edf491d&