After a bit of testing, here is what I've been able to come up with. App assignment to a specific Desktop/Space is broken in Mavericks.
Ignore the idea or suggestions above that this is due to multiple displays. It isn't. I've been able to reproduce the following with a single display on my laptop.
If you have a single Desktop/Space enabled, you will not see the "Assign To" submenu. Use Mission Control to add a 2nd Desktop (on any display if you have multiple displays connected). Now if you right click on any app in the Dock, you will see the Assign To section of the Options menu.
Now you will see that you can only assign the app to "Desktop on Display 1" even though you have created "Desktop 2". The "Desktop" that it is referring to is the currently shown desktop on your screen. Doesn't matter if it is named "Desktop 2" or "Desktop 14" in Mission Control.
So for this example, set up 2 desktops. If you are not already showing Desktop 1, switch over to it and assign an app to "Desktop on Display 1".
Right click on the app icon and you will see that it is assigned to "Desktop on Display 1".
Swipe over to Desktop 2, right click again and now it says it is assigned to "Desktop 1 on Display 1".
So now you understand the logic of the assignment between "Desktop" and "Desktop #". Now let me show you how it is broken.
It appears that this assignment is using an internal identifier and not the name "Desktop 1". To show this, open Mission Control and swap the order of Desktop 1 and Desktop 2. Switch over to desktop 1 and right click on the app icon and you will see that it is assigned to "Desktop 2 on Display 1". You are probably thinking "Nice! I would want the app to go to the specific Desktop no matter the order", which is the idea. With the Mission Control option to reorder spaces based on usage, this is a nice feature to have.
So, now to break it. Since the assignment is based on the internal space ID, if you close that Desktop space, the ID number is no longer valid and the app assignment switches back to None. Even if you close it and immediately create a new one, it has a new ID so the assignment is gone.
Personally I'd like to see it switch to a "New Desktop" option instead. This way if there is a Desktop assignment already, it uses it. If not, it creates a new desktop space for that app.
And to break it in another way, set up the app assignment again then shutdown your computer. This destroys the Desktop Spaces so the app loses the assignment. When you start up the computer again, it will recreate the number of Desktops you had before but with new internal ID numbers.
And just for fun, here is another 'quirk' with this. If you do have a 2nd display (or more) connected to your computer, normally you would see "Desktop on Display 2" in the Assign To menu. However, if you have an application running in Fullscreen Mode on the 2nd display, it will not show the ".. on Display 2" options at all, even if you have multiple Desktop Spaces configured on that display.