Several reasons:
- Screen real estate: we simply don't have enough space to put everything
- It's a responsive webapp: if we create a new button just for mobile, then we'll have to hide it for desktops, which means more complexity and testing
- Icon discoverability: our users aren't tech-savvy, so we'd have to create a new button with the word «Refresh» on it, because they could easily miss it if we use an icon (also: screen real estate)
- Familiarity: pull to refresh is a familiar gesture we can take advantage on, and it's easy to disable on desktop