Is Bas Kol the heavenly voice always correct and how to identify Bas Kol from whispering coming from demons or evil spirits? I hear many Rabbonim have heard contradictory Bas kol so what is the criteria for judging a Bas Kol, whether its divine or evil?
The Bas Kol could be correct, but it nevertheless lacks the authority to, for example, override a decision of the rabbis. In Bava Metzia 59b, Rabbi Eliezer was trying to prove a point of halacha and attempted to invoke miracles to prove he was correct on that point. The rabbis said that miracles prove nothing. Then, to prove his point, R. Eliezer called on a Bas Kol which declared that he was right. But R. Joshua arose and exclaimed: ‘It is not in heaven’ (quoting Deut. 30:12). Rabbi Jeremiah explained that the verse cited means that since the Torah had already been given to us at Mount Sinai; we pay no attention to a Heavenly Voice, because the halacha is that a majority of the rabbis only determines matters in dispute. When Rabbi Natan met Eliyahu HaNavi he asked what G-d's response was and He said, ‘My sons have defeated Me, My sons have defeated Me.’
As Bruce explained very well above, in the story from Bava Metzia 59b, the Bas Kol doesn't have authority to override halacha. In Eiruvin 13b, there is a story of Beit Hillel and Beit Shammai arguing for three years, and a Bas Kol descending and saying "These and these are the words of the living G-d, and the Halacha is like Beit Hillel", and in this case, we accept the Bas Kol. So why do we accept one Bas Kol and not the other?
The Tosafos (דיבור המתחיל: לא בשמים היא) on Bava Metzia 59b give 2 resolutions
A Bas Kol cannot upset a majority, and therefore the Bas Kol was rejected in the case of R' Eliezer (Bava Metzia), but accepted in the case of Beit Hillel, who had a majority (Eiruvin). The Tosafos further explain that the Bas Kol was only needed to refute Beit Shammai's claim of superiority (and reaffirm Beit Hillel). Beit Shammai were claiming (Yevamot 14a) that since they were intellectually sharper than Beit Hillel, the majority rule didn't apply here.
With the story of Rabbi Eliezer, the Bas Kol was sent down out of respect for Rabbi Eliezer, and not to determine the Halacha. According to Tosafos, this can be seen in the language of Rabbi Eliezer's request.
Rabbi Mendel Weinbach, zt"l, explains (https://ohr.edu/266) this Tosafos beautifully (much better than I can), and delves into the Gemara in both places as well.
Based on these stories, it seems that we follow a Bas Kol that affirms the law (similar to Jewish prophecy). With a Bas Kol that does NOT affirm the law, we do NOT follow it, but it still is valuable for teaching us to respect each other and especially Torah scholars, whether they are "wrong" or "right".
Shaarei kedusha part 3 gate 8
When the (Ruach) will dwell on him, he should check that perhaps he is not yet pure and clean and this Ruach is from the "other side" (side of evil), or at the least a mixture of good and evil. And the story of Ben Azai and Ben Zoma (mishnaic sages) who ascended to Pardes is proof. This one can discern through what is revealed to him. If all his words are true or truth and falsehood mixed together, or if his words are Devarim Betalim (useless talk) of matters of this world, or things which are not in line with torah, or the like. Because then, one must push it away from oneself, and also to strengthen more and more in his service until all his things are faithful and with fear of heaven, etc.
And know that in the beginning the Ruach will settle on a man in infrequent intervals. And also they will be simple things which are not deep, and also his words will be few. As time goes by, strengthen yourself in all the details we specified.