I think a lot of your problem is that you don't understand yet how the matrix works. Spend a few minutes to visualize it and think it through. Think for a moment about using the same firmware you're using now, only with a single switch. You'd have 2 wires connected to that switch. One wire would connect to the same pin on the MCU as the row. The other wire would connect to the same pin on the MCU as the column. If that wire got broke in the middle somewhere the connection would no longer happen, right? So you have to follow the wire (trace) from the switch to the MCU.
You can use a multimeter to find a break that isn't visible to the eye, by simply testing at different points. Start by placing one probe on the MCU pin and the other on the switch, see if there's a good connection. If not, you have to find points closer to the MCU that do work, and then bridge from the working point to the non-working point using a small wire.