The upper block in the Process Flow shouldn't be connected to the lower block. The source you placed there already creates a token for pallets that are unloaded to the queue. The token from the upper block has wrong references ("item" there refers to a pallet in the rack) and scrambles the logic.
You only assign the first box on the pallet to a label (pickedbox) and then only run the subflow once as well. To unload all items, run the subflow as many times as there are items on the pallet (subnodes.length) and assign the box references to each subflow-token individually. You should also implement some form of restriction, so that the operator only receives one task at a time. This can be done through a resource like with the forklift.
For the subflow you have two general options:
Create all tokens together
In this case, the box references have to iterate through the subnodes of the pallet (first token gets first box, second token gets second and so on...). When you assign labels to the subflow tokens in the "Run Sub Flow" activity, you have access to the creationRank value that denotes the "number" of the token. So "token.item.subnodes[creationRank]" will refer to a different box for each subflow token.
Since all tokens are created at the same time, the restriction to one task at a time should be placed inside the subflow.

Create tokens one by one
You can also set the activity to only have one token run through the subflow at a time. In this case, since the operator will have unloaded the item before the next one is created, the box reference can (and should since the number of subnodes decreases) just always point to the first subnode.
The Acquire and Release activity can be placed around the "Run Sub Flow" activity. Otherwise a second token from the source might interfere with an ongoing task since it will create its first subflow-token immediately and so the operator might start to unload a second pallet before finishing the first.

Lastly, items have to enter a conveyor through an Entry Transfer for the conveyor to work and move them along. It is created by creating a port connection from an (newly added) object to the conveyor. Afterwards you can delete the connected object. The transfer will persist and can be used to unload items into it.

unload-box-from-pallet_fm.fsm