Can I just plug in a designated IC for that?
It is called a microcontroller. An ATmega328 would be an excellent example.
I have too many buttons to control - 15-25 or more
That makes a microcontroller even more important.
De-bouncing is absolutely not easy when complex tasking. You have to stop all interrupts - most likely use critical sections and measure time very precisely. It is just ugly. It works excellent for very simple projects though.
De-bouncing pushbuttons has nothing whatsoever to do with interrupts. Well, actually, it does use interrupts in a sense, as the millis() function which you use, does internally use an interrupt, but you will (should) already be using millis() so this hardly counts.
The trick for multiple pushbuttons is that you de-bounce all buttons simultaneously, putting them into bytes or words to perform the individual operations. If it is convenient to align them to byte-wide ports, it would be extremely fast. On the other hand, you can matrix buttons (preferably with one diode per button) and also use a 74HC4017 to scan them from two "strobe" pins.
Besides - buttons introduce a lot lot of noise to the mcu.
That sounds like an absurd claim, but I think I understand what you are thinking.
Only if you are foolish enough to connect them to interrupts.