There is really no real way to tell since the 12th and the 21st are really close. My Doctor told me that it's not an exact science. Your best bet is to go off of your last ultrasound. I understand what your going though and it can be scary but the best thing for you to do right now is not worry. I know that sounds stupid but your 31 weeks pregnant. There is nothing you can do about it now. You will be bringing a beautiful baby into the world and that is all that will matter on the day you deliver. I understand what your going through because when I was 19 I had my first born son and I had the same issue. I don't know what your situation is but what I ended up doing was telling both men right away. I told both of them how sorry I was and I explained to both of them that I can't be sure. I had sex with one of them 2 weeks before the other one. I couldn't be sure who the father was until I delivered. I stressed and stressed and made myself sick with worry. I ended up having pre-term labor and got put on strict bed rest. I did carry to full term but it was scary and the stress didn't help anything. So remember there is nothing to be done about it now. You should try to focus on the amazing thing you are doing right now. You are bringing new life into the world. My main advice is though when it comes to the men, be honest. Be upfront and honest because it will make things much more difficult if you don't tell them.
Best of luck to you and keep your chin up :)
It's most likely the second guy. I'm due 2 days earlier with the 23rd as my conception date and lmp beginning December 9.