The problem you are facing is that Ninject selects .ctors based on the number of related options available to it. This means that Ninject basically does not understand overloading.
You can work around this problem by using the .ToConstructor () function in your bindings and combining it with the .Named () function. This allows you to create multiple bindings for the same class for different constructors with different names. It is a bit ragged, but it works.
I support my own software development blog, so it ended up being a post. If you need some sample code and a bit more explanation, you should check it out.
http://www.nephandus.com/2013/05/10/overloading-ninject/
user2371370
source share