Please don't judge me.

I'm currently 4 weeks along. My SO and I haven't been together long and found out I'm pregnant. We are planning to get a place together and all of this stuff. The issue here is my ex ( who I'm completely in love with) has recently been trying to get back into my life. Here's the back story; My ex has a child with a girl who put a no contact order on him for "abuse" he never abused her, she admitted it later to me. Anyways, so he contacted her to see his son and her best friend called the cops on him so he's been in jail for 3 months and recently got out, we broke up because he didn't want me to feel pressured and because I'm only 21 he didn't want me to have to deal with being with someone who's in jail and not out living my life ( even though it's not what I wanted ) anyways, I've ignored most of his texts and calls, but last night I decided to be a DD for my friend and while at the bar he was there, he started talking to me about everything and how much he loves me and fucked up. At that point I told him I'm pregnant. He's saying he will be with me and love my child like his own. I ended up leaving because I couldn't take it anymore. This morning when I opened my door there was an envelope and when I opened it i realized it was from him and all of the letters he wrote me in jail. It just broke me. Reading his words and the pain, the love he has for me that I continue to feel this day. I freaked out and told my SO I was going to stay with family for the night. I just don't know what to do. My ex is so caring and I know he only wants the best for me, he told me he understands if I don't want to be with him and I want to work things out with my current SO that he will still be my friend. I want to make it work with my SO for the Baby, but do I stay with him just for that and be unhappy? Or go to the person I love. I feel like the worse person. I hate myself for feeling this way. Please just give me advice.