God has many adversaries, many accusers and many antichrists. First John 4:3 tells us, “and every spirit that does not confess Jesus is not from God. This is the spirit of the antichrist, which you heard was coming and now is in the world already.” (ESV) The word Satan means just that, an adversary or accuser. That is the same word we find in Job 1:6. Satan is not a name; is a characteristic. We don’t know if the satan in Zechariah 3 and Job 1 is the devil as we know it in a traditional sense and, we don’t know if it is the same deity, we see in Genesis 3. We can speculate and debate this issue further. However, what we do know is that John made it clear that the satan in Genesis 3 is indeed the devil in the traditional sense, Revelation 12:9 tells us,
And the great dragon was thrown down, that ancient serpent, who is called the devil and Satan, the deceiver of the whole world—he was thrown down to the earth, and his angels were thrown down with him. Revelation 12:9 (ESV)
Based on what is clearly seen in Scripture and, a basic study of the word Satan, I don’t see any contradictions or controversies. Some Bible critics may be partially right in insinuating that we are talking about different satans in these portions of Scripture; but they also misguided as the lack a basic understanding of the definition of the word satan as an accuser and adversary. There is a main character of evil or leader that John points out in Revelation 12:9, but adversaries or accusers are many.