"to act" has also other meanings than just be on stage or in front of a camera. Similary, an "actor" has also other meanings than just an individual being on stage or in front of a camera.
He's not a bad actor, just mediocre. In the roles he was assigned, his characters are more or less similar, and his face shows relatively little emotion, but it's more or less consistent with the macho stereotype he's been playing. Bad actor would be someone like Hayden Christensen who seems unable to express convincing emotion even though the scenes played require him to.