I’m pretty sure I’ve done this before, but I found new stuff. I’s like to ignore cameos, if possible. There are a LOT of those, but I want to restrict this to actors who had substantive different roles in at least two films.
Klaus Kinsky played Renfield in Jess Franco’s Dracula, but played the Count (Count Orlak) in Werner Herzog’s Nosferatu (I don’t think it’s a stretch to equate Dracula and Nosferatu)
Vincent Price played Clifford Pyncheon in the 1940 House of the Seven Gables and Gerald Pyncheon in the “House of the Seven Gables” segment of Roger Corman’s 1963 Twice-Told Tales.
Michael Caine plated Milo Tindle in the original 1972 film of Anthony Shaffer’s Sleuth, and Andrew Wyke in Harold Pinter’s 2007 rewrite.
He thus is the only actor I know to play all parts in a show having more than one character
Jeremy Brett played Dorian Gray in the 1961 “Armchair Theater” version of The Picture of Dorian Gray (the version with the Dick Smith makeup). In the 1976 TV version (with the John Osborne script) he played painter Basil Hallward.
(Speaking of Brett, they’re not exactly versions of the same work, but he played Dr. Watson to Charlton Heston’s Sherlock Holmes in the LA production of Crucifer of Blood, which was sort-of adapted from The Sign of Four, and was filmed. Brett, of course, played Holmes himself on BBC/WGBH, including an adaptation of The Sign of Four.)
Tony Curtis played Joe/“Josephine” in Some Like it Hot in 1959. Much later, in the stage musical (originally called Sugar, but later rechristened Some Like it Hot, he played Osgood Fielding, the Joe E. Brown part in the movie.
Again, not exactly what I originally asked for, but Bela Lugosi played the villain, Roxor, in the 1932 Chandu the Magician, but went on to play Chandu himself in The Return of Chandu (1934) and Chandu on Magic Island (1935).
Similarly, Boris Karloff famously played the Frankenstein monster in three films, the original 1931 James Whale Frankenstein, The Bride of Frankenstein, and The Son of Frankenstein. He played Baron Victor von Frankenstein in the 1958 film * Frankenstein 1970* (He had previously played several Mad Scientists, most notably Dr. Gustav Nieman in 1944’s House of Frankenstein at the same studio where he’d played the monster.)