Resurrecting an old discussion here but I re-looked at this and have a temporary fix. It does involve editing core files which I know is not ideal in any sense but it does work in taking them off the settings page. There may be other ways for users to get to them but the audience I have wouldn't know these.
Anyway, I edited the forum-########.js file (the hashes represent different numbers and characters for each install) in the /assets directory and commented out the following:
Email
/*
System.register("flarum/components/ChangeEmailModal",["flarum/components/Modal","flarum/components/Button"],function(g,n){var f,e,c;return{setters:[function(c){f=c["default"]},function(c){e=c["default"]}],execute:function(){c=function(c){function a(){babelHelpers.classCallCheck(this,a);return babelHelpers.possibleConstructorReturn(this,Object.getPrototypeOf(a).apply(this,arguments))}babelHelpers.inherits(a,c);babelHelpers.createClass(a,[{key:"init",value:function(){babelHelpers.get(Object.getPrototypeOf(a.prototype),
"init",this).call(this);this.success=!1;this.email=m.prop(app.session.user.email());this.password=m.prop("")}},{key:"className",value:function(){return"ChangeEmailModal Modal--small"}},{key:"title",value:function(){return app.translator.trans("core.forum.change_email.title")}},{key:"content",value:function(){return this.success?m("div",{className:"Modal-body"},m("div",{className:"Form Form--centered"},m("p",{className:"helpText"},app.translator.trans("core.forum.change_email.confirmation_message",
{email:m("strong",null,this.email())})),m("div",{className:"Form-group"},m(e,{className:"Button Button--primary Button--block",onclick:this.hide.bind(this)},app.translator.trans("core.forum.change_email.dismiss_button"))))):m("div",{className:"Modal-body"},m("div",{className:"Form Form--centered"},m("div",{className:"Form-group"},m("input",{type:"email",name:"email",className:"FormControl",placeholder:app.session.user.email(),bidi:this.email,disabled:this.loading})),m("div",{className:"Form-group"},
m("input",{type:"password",name:"password",className:"FormControl",placeholder:app.translator.trans("core.forum.change_email.confirm_password_placeholder"),bidi:this.password,disabled:this.loading})),m("div",{className:"Form-group"},e.component({className:"Button Button--primary Button--block",type:"submit",loading:this.loading,children:app.translator.trans("core.forum.change_email.submit_button")}))))}},{key:"onsubmit",value:function(a){var b=this;a.preventDefault();this.email()===app.session.user.email()?
this.hide():(app.session.user.email(),this.loading=!0,app.session.user.save({email:this.email()},{errorHandler:this.onerror.bind(this),meta:{password:this.password()}}).then(function(){return b.success=!0})["catch"](function(){}).then(this.loaded.bind(this)))}},{key:"onerror",value:function(b){401===b.status&&(b.alert.props.children=app.translator.trans("core.forum.change_email.incorrect_password_message"));babelHelpers.get(Object.getPrototypeOf(a.prototype),"onerror",this).call(this,b)}}]);return a}(f);
g("default",c)}}});"use strict";
*/
/*
a.add("changeEmail",d.component({children:app.translator.trans("core.forum.settings.change_email_button"),
className:"Button",onclick:function(){return app.modal.show(new l)}}));
*/
Privacy Slider
/*
b.add("privacy",a.component({label:app.translator.trans("core.forum.settings.privacy_heading"),className:"Settings-privacy",children:this.privacyItems().toArray()}));
*/
Of course any updates of Flarum will wipe these out and I DO recommend if you're going to do this to back your file up first so you can at least revert to it if things go t**s up.