Why it was not recovered along with the other information?
Because the data wasn't complete. The file was fragmented. This means the file was located on multiple sectors, and likely on a sector that was bad, hence the reason your Master File Table was lost which was likely also on a bad sector.
Where is the location for the pointer that points to the next not contiguous cluster of the file?
You have not supplied enough information to answer this question.
Why such things happens?
HDDs continuously determine if a sector is good or bad. A file system also attempts to organize its files. These two actions can interfere with one another if a sector goes bad before the complete data can be read and moved to another sector. There are tools like Spinrite
that MAY help in a case like this. Its expensive and I am not actually doing a software recommendation specifically just saying there are tools that can help the HDD discover the missing data in a "bad" sector. That only works before you write ANY data to the HDD, if you have, then the data is lost forever.
Is there a way to rebuild/fix that files?
If the software does not support doing this then you are out of luck. you cannot magically repair a file you don't understand nor know what the missing data should be.