I don’t use Instagram so can’t check the code, but I would guess they use something like
<input type="file" accept="image/*" capture>
Which does what you’d expect on a mobile device (launch the camera) but behaves differently on desktops (opens a file upload dialog). They may have decided that this behavior would confuse users.