I have added Code tags to make your code more readable. There's a button on the message editor for that. One thing that would also help would be if you could reduce your sample to just its more essential lines. I have a hard enough time following multiple screens of text when I'm being paid for it.
You might want to put a "<h:messages/>" tag on your page.
JSF will not update backing bean if ANY control value on the submitted form is invalid, but this tag will display the error message(s). Also, you don't seem to have a Submit button (commandButton or commandLink). To get the control value to update, you must have a Submit control and the Submit control must be in the same JSF form as the control(s) that you want to update the backing bean(s) from.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.