Does my action need to accept year and month as parameters? Currently my action only accepts the slug as a parameter because the slug is unique. Or do I have to accept them and just ignore them?
Nope. You do not have to declare such variables but AFAIK they are passed to the action method. Just to complete the picture, you can declare them in the action method with "default values" thus enabling usage of URL with empty vars in relevant locations.