why many timers in microcontrollers
Because embedded systems often need to generate time intervals with many different periods or frequencies, for things like:


internal timekeeping
sampling analog signals
generating pulse trains (including PWM)
serial communications of various types (UART, SPI, I2C, etc.)


Having dedicated timers for each of these means that the operation is more autonomous, and fewer CPU cycles need to be spent on keeping them going.