Hi J.,
Please look thru some old answers to similar questions asked by other moms on mamapedia.
PS: Your 2 year old is normal and his taste buds are still developing. Trying and liking new foods will take introducing him to new foods multiple times over a long term. It is a good idea to give him something new once a week, with no pre-conceived notions on your part. If he likes it good, and if he doesn't, let him try it again 2-3 weeks later.
Giving him same food that you offered for lunch at dinner time, might work if he's hungry. Increasing the gap between meals is another suggestion, he will eat better when he is hungry. Kids go thru growth spurs, at times they eat very well and at others they don't. Please don't be alarmed if he does this.
Please be patient with this process, stand back and observe, keep a food diary for him to keep track of how he is learning to enjoy new foods. Let him explore food textures with his hands and enjoy meal time without any
pressure/stress.
Enjoy meal times together and have fun on this journey together.
You are not a BAD mom, you are doing your best , you sound like a caring mother.