This is directly implied by the implementation of knowledge skills. You roll, add your bonus, and then the DM decides what your character knows about a particular subject based on the results. Many DMs hand-wave common knowledge to make life easier: virtually every character knows for example that goblins are short and that the undead are inherently evil. But make no mistake, what is considered “common knowledge” could easily vary from DM to DM.
So to answer your actual question, no. Short of DM assistance or the rule being changed to explicitly state that the Monk knows whether they are Charmed or Frightened, there is no way to know for sure.
As Lino Frank Ciaralli correctly points out, there is no mechanical requirement (I challenge anyone who disagrees to find such a rule) for the Monk to know whether or not they have been Charmed or Frightened in order to use the Stillness of Mind ability. Any such requirement is strictly a house-rule, and I would question the competence of any DM operating under it.
While I am not a fan of meta-gaming, I do understand that sometimes it is necessary for resolving some situations in a satisfactory manner. Short of your DM explicitly coming out and telling you “You are Charmed (or Frightened).” there is no solution that will tell you with 100% certainty that you are under the effects of either condition without meta-gaming. Therefore, if you impose the requirement that a Monk must know they are Charmed or Frightened prior to using Stillness of Mind (presumably under the guise of trying to avoid meta-gaming), then you are basically making the ability useless because there is no way to use it without meta-gaming.
If you still must know for sure, we can take what we know about the conditions mechanically (hence meta-gaming) and derive a solution using inductive reasoning and proof-by-contradiction. For example, the Frightened condition states the following:
The creature can’t willingly move closer to the source of their fear.
Therefore, to determine if your character is Frightened, simply assume you are Frightened and follow this simple procedure:
- Take a step forward.
- Turn 90 degrees to the right.
- Repeat steps 1 and 2 three more times.
By definition, one of those four steps forward would have put you closer to the source of your fear. If your DM did not stop you at any point to tell you that you cannot step forward, then you are by definition not Frightened.
A similar test can be constructed for the Charmed condition by exploiting the fact that the victim cannot target the caster with harmful spells or effects, but it requires that the caster be present to run the experiment.
Honestly, this seems like a problem that would only arise if my DM is unnecessarily aggressive and personally trying to make the Monk useless due to some inherent bias. Personally, if I were in this situation, I would respond by using the ability at each opportunity regardless of whether or not I’m actually Charmed or Frightened under the rationale that my character is paranoid. If I used the above test and thought I was Frightened, I’d erase that condition. Otherwise, I’d assume I was Charmed and erase that condition. If the DM wishes to avoid wasting game-time going through this pointless charade every couple of minutes, then he or she will do me the courtesy of letting me know when I actually need to use it.