There is no exact hint about the problem in the log file.
You can check LCP configuration options starts with lcp- (see: man pppd)
If you set
lcp-echo-interval to 30 seconds and LCP-Echo requests failed at number of
lcp-echo-failure, pppd will exit.
It is not clear that how pppd behaves when
lcp-echo-interval = 0 like your setup. So, it is good to use a reasonable value here.
You also have
idle = 600 parameter, so if no IP packets seen by pppd for last 600 seconds, it will be stopped.