It all depends on who the IIN is that issued the SIM card. If it's an AT&T-issued card (which would include all of AT&T's MVNOs, such as Straight Talk), the iPhone just sees an AT&T SIM card, and applies the Apple-signed AT&T carrier profile to it, and in that carrier profile is a bit that controls whether the phone allows access to the Cellular Data Network menu or not, which AT&T has set to "deny."
If you put in a SIM card that the iPhone has no clue about (such as T-Mobile U.S.)., then iOS will fall back to a generic carrier profile, which does allow access to the APN editing submenu.
The problem is that Straight Talk is an AT&T MVNO, and so Straight Talk SIMs are indistinguishable from AT&T SIM cards from the iPhone's perspective. The iPhone engineers made a bad assumption, which is that all cards issued by carrier X should be treated exactly the same.
If the SIMs are indistinguishable, what else could be done (without removing the APN blocking, which is AT&T's will, not Apple's)? A solution for this should be part of MVNO agreements, either providing their own SIMs or dealing with it in their infrastructure.