These are excellent questions! You are especially wise to recognize that your future self will have unfortunately hazy memories of what parameters you chose and why. (I've also been mulling this process myself, and was considering asking a similar question!) Your question is definitely related to prior questions here, but I think those don't necessarily cover collecting data, and some of the answers haven't aged as gracefully as others because they deal with "try this kind of software."
To the extent that your advisor and lab already have a workflow set up, try to work this into it. Is there a shared server for documents, or an application like Dropbox or Box? Do you have a shared Zotero group for bibliography and files? Do you use Git or other version control software? (Version control may be less relevant to you if you're the only one working on the code, whereas it will be critical if multiple people fiddle with it.)
Keeping notes about results
Many scientists are trained to use research notebooks, and there have been interesting discussions about those; aeismail suggested Colin Purrington's tips on maintaining a lab notebook. From looking at an excellent question across tools and a question about Python in particular (though it can be extended), Jupyter is the next tool I will look into for myself, and it may be what you're looking for.
For my own dissertation, for tables and charts I created in Stata, I had a clear file naming scheme about where I outputted and saved them. It was easy (conditional on already knowing LaTeX) to make a LaTeX doc that pointed to those files and could update with the newest version of the results.
File naming and organizing hierarchy
TCSGrad pointed to Jason Eisner's advice on file organization. In particular, I like his advice there of putting in files or file names or folder names the tags: to-do, how-to, logbook, acknowledge, and send-to.
I also highly recommend having, in your project folder, a folder called "Raw Data". This is the original data, as downloaded or found or whatever. In "Raw Data", have a readme doc, whether it is a text file or spreadsheet or whatever, that says where each bit of Raw Data came from, when, under what conditions, etc.
To capture the software setup and system parameters, perhaps have a similar Setup folder (with the executable files for software you install, and a similar readme). (Docker is one tool to capture and easily replicate the correct computing environment. A group like Software Carpentry might be able to provide guidance.)
A separate "Data" folder can have your cleaned versions of the raw data, and folders for "Code" and "Output" should be similarly separate. (Datasets you create should still go into Data, probably.) You might even find it useful to have separate folders for (nicely formatted) "Tables" and "Figures".
Whenever you submit something or have a major draft, try to save a copy of all the things you're relying on, as-is.
Making the notes available?
This prior question asks about the (dis)advantages of an open lab notebook, and there was some good discussion.