Note: Only once i succeeded but then onwards it is not pushing the application to the device.
That means that the BES has recorded the successful push in the BESMgmt database and doesn't send the application again.
Under the user, can you check the Application status? It should say:
Configuration Name: <App name>
Status Check Time: <Time of the last check>
Configuration Status: OK
System Status: Up to date
Application Status: Up to date
Software Upgradable: False