I've seen the idea going around that you can only get the soul for the first dragon you kill at a location, but that is false. And it doesn't make any sense, it's a different dragon.
It would make sense as the dragons at the Word Walls would be the old dragons that have been around for long enough to develop a soul. Perhaps their soul is created from all the souls of those they kill. I dunno.
To me, Dragon Souls should be rare, after all, you only need 60 of them for all the Shouts, what purpose do they serve after that? Then again, dragons should not be re-spawning after the MQ, but that is just my opinion. I don't think they should go away after the MQ, but once killed, they don't come back. So, start the game with 60 dragons total that can appear, once that counter decrements, they don't come back. No, I don't mean all 60 are in the game from the get go, but we only get to find and kill 60, or so, of them. Again, just my opinion.