By design, SpriteAtlas uses a combination of Best-Fit and Random-Fit to ensure there is a balance of optimal and fast packing of Sprites to Atlas. Therefore perfect packing may not be possible on all cases.
In these cases, please use Scriptable Packer to customize packing.
Please take a look at :
https://docs.unity3d.com/6000.0/Documentation/ScriptReference/U2D.ScriptablePacker.html
Thanks.