It seems that you have both of these set with the AND correctly. It may be your includes part of the search, it looks like you are using keyword type searches with 'includes' for the content. That means that if any of the values you are looking for are even partially present in the record it will be returned.
If you are getting the values from some dynamic select lists on the page then you should use text searches with exact matches. This should eliminate any extra results that are occurring because they contain partial matches.
If you continue to have troubles with this please try using the die statement for the query so that the query that is being used can be seen and investigated to determine what is going on.