If I want to play on keyboard/guitar (and sing along), do I have to use the same exact chords as original song? or I can use similar chords?
In fact, no one is going to stop you! It's not necessary to play the exact same chords as the original song; however, stray too far from the original, and you might have some issues. Your audience might not recognize the song if you don't play chords that are similar enough in quality or function, for one, and it is good to be able to accurately transcribe by ear, but for the purpose of making music, it is not a problem to play chords that may not be exact matches for the original harmonies and voicings. Especially if you play guitar or keyboard to accompany in a sing-along manner, often a quick approximation of the harmony of a piece will be sufficient to make great music.
In double fact, there may not even be a set of "exact" chords for the song you're playing. If you're playing a piano song on guitar, chances are your guitar chords are not note-for-note transcriptions of the piano chords. Does the original have a different bass note than what you are playing? Are the notes in a slightly different order? Is there a note being left out of or added to the chord that you are playing, or vice versa? All covers require some small deviations from their originals, and things like voicing changes due to instrument ergonomics are practical and necessary in many cases.
Additionally, chord labels can be quite subjective. You might hear that chord as an Em7, I might hear it as G6. Or the upper structure of a Cmaj9 chord. Or just plain old G. Try to make the decision between chords on the basis of what serves the music best, not on what is the most objectively accurate to the original.
Chord substitutions are another concept to be aware of and play around with. Is that A7 chord getting boring, or perhaps you're just not that good at playing it? Try subbing in a C# half-diminished 7th in its place. It may work, it may not. There are lots of types of chord substitutions (some more drastic than others), and though they can serve different musical purposes, they are all entirely acceptable for use in cover music.
"Some software suggest multiple similar chords for each measure (bar)."
The problem with those programs is that they do not follow a very human approach to playing/identifying the chords to a song. The software identifies notes being sounded, and looks at them as an addition problem. C + E + A = Am, as the logic goes. Human listeners take things within context, though, and make determinations about how to understand the music based on factors outside of simply the summation of the detected frequencies. A rapidly changing melody might cause a computer to state that the chord quality is changing rapidly with suspensions and added notes, but to a human listener, this is clearly not a useful analysis of the music.
Take "Hey Jude" in F major as an example, and examine the line "Take a sad song..." from its chorus. Chord identification software would hear the notes C, E, G, and F, then decide upon a chord name that explicitly puts an F in the chord, like Cadd11 or Fmaj9(no3)/C. A musician hearing the song correctly identifies that the F frequency comes from a melody note, not included in the harmony, and therefore sensibly labels this chord as C. The issues with software analysis get more and more potent as the music being analyzed gets more and more complicated. Online resources, even though submitted by real human beings, are prone to errors and/or useless chord labels for songs as well.
I would be wary of the mindset that all songs have one exact correct set of chords. It is a great exercise to attempt to get as close as possible to what you hear in the recording, but under close enough examination, there is no such thing as a perfect transcription.