The short answer is only one code per reservation, but....
You can split this into two reservations. First one for the military rate, second one for one night on the promo code. You will have to pay two deposits, go to the front desk and check out/check in on 12/23, and may have to move rooms. If you are on a dining plan it would NOT carry over to 12/24 since the night of 12/23 is now just a room only reservation, but the plan is good until midnight of your check out day on that package.
If you do this, make sure to have the reservations linked as a "continuing reservation". Go to the front desk (don't call from your room since those go to a call center and not the front desk of your resort) a few days ahead of the 23rd to see if they can make a note for the room assigner to keep the same room for the last day. No guarantees though.
We just did this a few weeks ago. 15 nights at CSR, 14 on the FD plan (the max they would let me book), last night just a room only res. Was lucky enough not to have to change rooms, but my ME notifications got mixed up (although ME had the correct and was fine, I just verified that with a quick phone call to them) and housekeeping kept insisting we were checking out on the first date since that was on their daily sheet. No problems when we told them we decided to stay for an extra night, but I'm glad we were still around the room when they came a knockin' to avoid any miscommunication there.
Since we had split a few CS meals during the two weeks, we had a couple of CS left on our last FD package day that we used for take out lunches to stick in the fridge for the next day. Got some sandwiches at Rix and kept those for lunch for the last non
DDP day, with huge rolls for our "dessert" that we used for breakfast on that day too, with a bottle of juice. No OOP meal expenses for the last day!