Since the structure of your data matches the structure of the dropdowns required msg.options
you're getting exactly what you give it.
What is it you want displayed in the dropdown & what do you want for the value when its selected?
According to your screen shot you have "part_number_item" or its "value" only in your data from the DB (somewhat limiting you to display the value or "part_number_item"!).
If you want something else displayed (like a friendly name) you'll need to get that from somewhere (i.e. DB) or create a lookup in node-red.
I have slightly modified my test flow to show you how to display the value instead of "part_number_item" using fake data in similar format to your screen shot
flow
[{"id":"c5e1961a.63c208","type":"inject","z":"9f43aee.ab3dc5","name":"Fake DB Result","topic":"","payload":"[{\"part_number_item\":\"17260851BD\"},{\"part_number_item\":\"17299989AC\"},{\"part_number_item\":\"17246783FB\"}]","payloadType":"json","repeat":"","crontab":"","once":true,"onceDelay":0.1,"x":200,"y":280,"wires":[["4af43cc.3641ec4","3a6e7cef.bc0974"]]},{"id":"4af43cc.3641ec4","type":"function","z":"9f43aee.ab3dc5","name":"transform data","func":"//as per info panel, the data needs to be formatted\n//as [ \"Choice 1\", \"Choice 2\", {\"Choice 3\":\"3\"} ]\n//and sent in msg.options.\nmsg.options = [];//create empty array\nfor(let i = 0; i < msg.payload.length; i++){\n let row = msg.payload[i]; //get the row\n let opt = {};//make new opt object\n opt[row.part_number_item] = row.part_number_item; \n msg.options.push(opt);//add the opt to array \n}\nreturn msg;","outputs":1,"noerr":0,"x":400,"y":260,"wires":[["c8d299c.7aaca68"]]},{"id":"c8d299c.7aaca68","type":"ui_dropdown","z":"9f43aee.ab3dc5","name":"","label":"","tooltip":"","place":"Select option","group":"ec26fe5d.d806c","order":0,"width":0,"height":0,"passthru":true,"options":[{"label":"","value":"","type":"str"}],"payload":"","topic":"","x":560,"y":260,"wires":[["dd13bfaa.86901"]]},{"id":"dd13bfaa.86901","type":"ui_toast","z":"9f43aee.ab3dc5","position":"top right","displayTime":"3","highlight":"","outputs":0,"ok":"OK","cancel":"","topic":"","name":"","x":810,"y":280,"wires":[]},{"id":"39fb345.20572cc","type":"ui_dropdown","z":"9f43aee.ab3dc5","name":"","label":"","tooltip":"","place":"Select option","group":"ec26fe5d.d806c","order":0,"width":0,"height":0,"passthru":true,"options":[{"label":"","value":"","type":"str"}],"payload":"","topic":"","x":560,"y":300,"wires":[["dd13bfaa.86901"]]},{"id":"3a6e7cef.bc0974","type":"change","z":"9f43aee.ab3dc5","name":"","rules":[{"t":"set","p":"options","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":400,"y":300,"wires":[["39fb345.20572cc"]]},{"id":"ec26fe5d.d806c","type":"ui_group","z":"","name":"Default","tab":"24d3dde5.1cc832","disp":true,"width":"6","collapse":false},{"id":"24d3dde5.1cc832","type":"ui_tab","z":"","name":"Menu","icon":"fa-tachometer","order":1,"disabled":false,"hidden":false}]