You have ClientIDMode set to "static" so all textboxes will have the same id which is invalid, ids have to be unique. The browser is simply using the first one and ignoring the others. So remove the clientid mode
<asp:TextBox ID="txtApprovalEndDate" Text="" dataformatstring="{dd/MM/yyyy}" cssclass="Datepicker" maxlength="10" runat="server" />
Now update the js to find the element. Use the *= selector to find items that contain that text in their id
$("#<%= gvRequests.ClientID %>").find("input[id*='txtApprovalEndDate']").datepicker();