Alright, checked the project, here's what I've found:
1) The issue of missing footsteps is due to your layer setup. Basically, the footstep raycasts hit stuff they shouldn't, e.g. colliders/triggers on the player (i.e. the object using the footstepper). This is easily solved by having the ground and the player on separate layers, and the foostepper's raycast setup to only use the ground layer instead of everything.
2) The multiple footsteps playing is a bit more complex, but it comes down to the animation events you've set up, there's too much of them :D
From what I've seen, the animator mainly plays the walking animation, which should have the animation events for playing the footsteps. The additional combat animations (not sure where they are played, though, as they seem to not be part of the animator) also have animation events firing the footsteps, which play in addition to that and are not needed. I've removed the animation events on some of the animations and it worked a lot better.
So, in short, probably just have the footstep animation events on the basic walk/run animations, maybe even just on the forward/backward animations instead of all the left/right variants as well (which never seem to have played anyway).
Also, I noticed that your animation events always use Int value 0, i.e. always play the left footstep. The right foot (in your setup) would have index 1, i.e. using Int value 1 for those events would play for the right foot.