I am not much into programming so these question might be silly.
Is your UModel/UE Viewer code based on Unreal engine source code?
No, this is absolutely different code base.
Also, If we can open and view the uasset file from UModel/UE Viewer then what prevents it from opening in Unreal?
It simply doesn't have possibility to open cooked packages in editor. Or reuse packages from one game in another game. More details will be too technical, especially for people who are not familiar with UE programming.
Can we not re-save uasset from Umodel/UE Viewer so that Unreal engine can directly detect or read it?
UModel doesn't have "save" functionality.