So I was using the spin library driver with the 4x4 keypad and ran into this same problem.
And it was for the same reason: Electrical Noise with nowhere to go goes nowhere
I put 1K pulldowns on the column pins and wrote a new driver/demo. It very carefully drives only a single row at a time so that pressing multiple vertically aligned keys (say 1 and 4) does not cause a problem.
While I was at it, I wrote a little BS-2 program that uses pulldowns rather than the series resistors in the standard example.
The other thing I did was return, in addition to the raw bitmap, a count of the number of keys pressed and a coded value that is easier to use (0..9 for the numerics, 10..13 for A..D, etc)
Re-inventing the wheel is not a waste of time if, when you are done, you understand why it is round.