I have a 3 1/2 year old girl and twin 1 1/2 year old boys. My boys love to eat. They will eat pretty much anything at any time. My girl, however sounds a lot like your boys. She would do the same thing at dinner time. She would rather skip dinner and go to bed at 6pm (her regular bedtime is 9pm) rather than eat dinner. I think it's because she is picky about what she eats. She is also a grazer. She likes to eat little portions at regular mealtimes (breakfast and lunch are sit down together with her brothers) and is asking for snacks about an hour or two later. She associates "dinner" with food she doesn't like and doesn't like to come to the table to eat it. We have a kiddie table with straps on two of the chairs that I put the boys in. She usually sits at the little table with her brothers, but doesn't eat much. I usually only give her a 2-3 bite portion of food to begin with and she must eat that every night. She gets sent to bed early if she doesn't. If she wants more after that, she's welcome to it, but if she doesn't, she is free to go. But she always has to sit at the table, whether she eats or not. She's not so good at staying in her chair, but we usually have a baby gate up in the kitchen doorway to keep the younger ones out during the day, and it doubles as a way to keep her at least in the kitchen at dinner time. Our dinners are usually over within 15 -30 minutes though. My husband is a really fast eater. When he's done, and the boys are done, she is allowed to go as long as she's eaten at least one bite of her food. It took some getting used to, and fighting with her to stay at the table until she eats one bite, even if everyone else is out of the kitchen, but she usually will eat at least a bite or two now. She gets plenty of food for her own needs. Her brothers eat about twice as much as her over a typical day, but only at regular mealtimes. Some kids are just grazers, I guess.
In short, we do have family dinners, but at the young age my kids are, it just doesn't last very long. But they're getting into the habit of having at least one family meal per day. Hopefully as they grow older, they will just know it's routine, and come to the table automatically. If it's really something you want, it will be easier later if you keep them at the table at least a little while at dinner time now. Even if it's only 10 minutes. Good luck!