SQL Server Failover Cluster Instances: why current vote is 0?
As i checked the Nodes, i noticed that: Both are Up, assigned vote = 1. But one has current vote = 1, the other one has current vote = 0.


That's dynamic quorum kicking in with a 2 node cluster and no witness. I definitely wouldn't continue to run this way, either add another node or add a witness.


  If i set a file share witness from 3rd server (the one is outside of cluster and used to manage), the node with current vote = 0 turned to 1.


This is due to dynamic quorum and dynamic witness kicking in. Dynamic witness says if there are an even number of possible votes, give the witness a vote. If there are an odd number, take the vote away.

Since you have two nodes each with a possible vote (assigned = 1) then there are an even number of possible votes. Thus, dynamic witness says the witness must have a vote to make it an odd number. Dynamic quorum then says that it feels the best way to set the dynamic weights so that the cluster has the best uptime is to set all votes to 1.

Dynamic quorum is in WS2012 and newer, it can be turned off but is on by default.
Dynamic witness is in WS2012R2 and newer, it cannot be turned off.