We propose a novel backpropagation algorithm for training spiking neural networks (SNNs) that allows each neuron to fire multiple times, unlike conventional methods where each neuron fires at most once. The proposed algorithm inherits the advantages of conventional timing-based methods because it computes accurate gradients for spike timing, which promotes efficient temporal coding. Our SNN model outperformed comparable SNN models and achieved as high accuracy as non-convolutional artificial neural networks. The spike count property of our networks was altered depending on the time constant of the postsynaptic current and membrane potential. Moreover, we show that there exists an optimal time constant with the maximum test accuracy. That was not seen in conventional SNNs with single-spike restrictions on time-to-fast-spike (TTFS) coding. This result demonstrates the computational properties of SNNs that encode information into the multi-spike timing of individual neurons.