The formula is correct, you can check known currencies against the data at Coinwarz.
The reason is that the formula is constructed by taking into account the time of generating 1 difficulty share at the current difficulty.
You can think that block time is actually "coded within" the difficulty. If you think about it, you can produce coins much faster (hence more coins) than the intended block time for example if you have fast farm of gpus for Scrypt. But if enough people do it, the coin difficulty will rise at the next retarget. Likewise, if interest is declined, less hashpower directed at the coin will yield slower coin generation. Each change in coin difficulty takes the actual previous block times into account to make that adjustment, when the new diff is calculated the block times from the previous blocks are already taken into account. You can simple think that block time parameter is "included" in the difficulty part of the formula.