A solution in 31 moves.
1. Nf3 Nf6 2. Nd4 Nd5 3. Nc6 dxc6 4. g4 Bf5 5. gxf5 h5 6. f4 Nd7 7. e4 Ne5 8. fxe5 Qd6 9. exd6 exd6 10. exd5 g6 11. Na3 Bg7 12. Rb1 Bd4 13. h4 Bc5 14. d4 g5 15. hxg5 Rh6 16. dxc5 dxc5 17. Bd2 Re6+ 18. fxe6 fxe6 19. Ba6 exd5 20. c4 dxc4 21. Ba5 Ke7 22. b4 cxb4 23. g6 bxa3 24. Rb6 bxa6 25. Rxh5 cxb6 26. Rb5 bxa5 27. Qb3 cxb3 28. g7 bxa2 29. g8=Q cxb5 30. Qg4 Ke8 31. Qa4 bxa4
I improved this from 32 moves by having the black player move pawns instead, saving a half move.
A proof that this is optimal.
I'll assume black is the player arranging pawns and white is helping. White needs to get their 15 non-king pieces onto each of the 15 "death squares" for black's pawns to capture, illustrated here with opposite colors. We can count the number of moves for each white piece to get to any such space: 0,1,1,2,2,3,3,4 for pawns, and 1 for each non-pawn piece except the far knight (3) and far rook (2). That forces 26 white moves.
But, some of these are incompatible. The close rook is blocked by the pawn in front that wants to never move, so one of them must take an extra move. The close bishop and knight both share a death square one move away (a3 or h3). Each issue costs a move to resolve. Finally, at least one promotion is required, so some pawn must take at least 5 moves to promote, then one to reach a death square, replacing 4 moves at most with 6, for 2 extra. That's 4 extra white moves, for 30 total.
My solution has the promoting pawn make an extra post-promotion move for 31 total. Can it be cut? The answer is no, and this will take some careful analysis.
The pawn would need to move to its death square right after promoting. Where can it end? The death squares c3, c4, d5, d6, e6 are reserved for the white c through g pawns that cannot reach a different death square without an extra move. So, the promoted pawn must go to a death square on the a-file or b-file or c6. It can't do so by making a diagonal move along the line the black pawn is moving without capturing it. This means it must promote on a8, b8, c8, or d8. The easiest seems to be d8, to promote to knight and jump to c6.
The promoting pawn must start on the h file, the only one that would otherwise take 4 moves to reach a death square. This means it must capture 4+ times to promote to d8 (or more to a8, b8, or c8). White already must capture times with their d,e,f,g pawn in place to get into place. So, white must capture 10+ black pieces. But, black must have their 6 pawns survive, and their king, leaving only 9 black pieces to be captured. So, saving the 31st move is not possible.