Being assertive and being direct are not the same thing. It sounds like perhaps you need to speak up more, but use polite words at the beginning and ending of conversations, more pleases and thank yous, and maybe even a bit of non-work conversation.
Something like the difference between "I need the TPS report by 3pm." and "Joe, Are you super busy? I need the TPS report by 3pm, and I'd like you to do it, if you're available. What else are you working on?"
But, since that's really just a guess what is going on, your better bet is to ask (in a non-blunt way). "You've said that I need to be more assertive, and yet when I asked for that TPS report, you said I was too direct. Could you give me some guidelines on how I should ask for it in a way that is assertive enough but not so direct?"
If they can tell you in a way that is consistent, you have your answer. If they hem and haw, and can't really come up with anything definitive, then your only option is to try to find some mid way that balances their complaints on either side, knowing that perhaps there isn't a true balance, because they are inconsistent.