Using oxalic acid dihydrate as a primary standard just seems really odd to me. I'd expect a primary standard to be oven dried. IIt just seems weird that a hydrate would be used.
Granted, I saw numerous references to using oxalic acid dihydrate on the web to standardize NaOH$\ce{NaOH}$. I assume that for high school and freshman labs that it is "good enough." Using student grade burettes and open air pan balances would greatly limit the possible precision.
Also I'd guess that "good enough purity" oxalic acid dihydrate can be purchased much more cheaply than potassium hydrogen phthalate (KHP), which would be my choice.
The analytical method as I remember from nearly 50 years ago...
Prepare a concentrated stock solution (4 molar?) of NaOH$\ce{NaOH}$ using distilled water. That went in a jug with a spout just above the bottom. It was capped with a dedicator tube filled with NaOH$\ce{NaOH}$ to absorb CO2$\ce{CO2}$ from the atmosphere. It sat for a couple of days to allow sodium carbonate to settle out. (NaOH$\ce{NaOH}$ will have some carbonate.)
Dried KHP in an oven at 120 C$\pu{120 ^{\circ}C}$ for four hours and then put that in a desiccator to cool.
Boiled distilled water to remove dissolved $\ce{CO2}$ and stoppered that to cool.
Using the cooled boiled distilled water made an approximately 0.1 molar$\pu{0.1 M}$ solution of NaOH$\ce{NaOH}$ by diluting the concentrated stock solution.
Using an analytical balance, weigh out 3 samples of KHP to nearest 0.0001 g$\pu{0.0001 g}$ into flasks and carefully dissolved the KHP in the cooled boiled distilled water with swirling to minimize introducing bubbles into the solution.
Then using NaOH$\ce{NaOH}$ as the titrant, phenolphthalein was used as the indicator. Again careful to swirl solution, not shake, to prevent bubbles.
Using class 1 50 ml-mL burette which was marked to 0.1 mls$\pu{0.1 mL}$s but read to 0.01 ml$\pu{0.01 mL}$.