Chickens can eat eggs for numerous reasons: Boredom, hunger, and improper diet are a few things. There are all kinds of things you can try to stop an egg eater but you might want to invest in a roll-away nest box. This is a nest box that allows the egg to roll away from the hen.
Another thing to consider is to make sure you have enough calcium in the diet as soft eggs that break after being laid is an invitation to hen to eat eggs. Adding calcium (layer feed, crumbled oyster shells) to the diet will help harden the shells.
As to broodiness, it could be your hens are too old, or maybe a breed of chicken that simply does not go broody that often.
Some people cull egg eaters but if there is a management problem the problem will reoccur.
Good luck and welcome to BYC!